/*
 *
 *  Copyright (C) 2007-2020 SimplyCore, LLC
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 *
 */

#ifdef _USBD_ENABLE_VHCI_
#include "usbd.h"
#include <linux/platform_device.h>
#include <linux/dma-mapping.h>
#include <linux/kernel.h>
#include <linux/highmem.h>
#include <asm/page.h>
#include <asm/unaligned.h>
struct IIIlll*IlllIllI=NULL;struct usb_hcd*IllIllI=NULL;
#if KERNEL_GT_EQ((0x542+8100-0x24e4),(0x819+967-0xbda),(0x1ac2+3014-0x2661)) || \
RHEL_RELEASE_GT_EQ((0x2217+726-0x24e7),(0x1d1+7765-0x2023)) 
struct usb_hcd*IllIlII=NULL;
#define lIllllI(IIIIlI) (((IIIIlI)->speed == HCD_USB3) ? "\x75\x73\x62\x33" : \
"\x75\x73\x62\x32")
#else
#define lIllllI(IIIIlI) "\x55\x53\x42\x32"
#endif
#if defined(CONFIG_X86_32) && !defined(_USBD_VHCI_NO_DMA_)
int IlllIIll=(0x12d1+1129-0x173a);
#endif
#ifdef _USBD_DEBUG_MEMORY_
extern atomic_t IlIIIlIll;extern atomic_t llllIlIIl;extern atomic_t IIIlIllll;
extern atomic_t lIIIIlll;extern atomic_t IlllIllIl;
#endif 


static int lIIIIIIIl(struct platform_device*);static int IIIIIlllI(struct 
platform_device*);static void IIllIIIIl(struct device*dev);static int llIIllIIl(
struct usb_hcd*lllIl);static int lIIllllll(struct usb_hcd*lllIl);static void 
lllllIlII(struct usb_hcd*lllIl);static int lIllIllII(struct usb_hcd*lllIl);
#if KERNEL_LT((0x768+3364-0x148a),(0x1430+4245-0x24bf),(0x74+5404-0x1578))
static int lIlIIIlI(struct usb_hcd*lllIl,struct urb*urb);static int lIllllIl(
struct usb_hcd*lllIl,struct usb_host_endpoint*ep,struct urb*urb,gfp_t llllI);
#else
static int lIlIIIlI(struct usb_hcd*lllIl,struct urb*urb,int status);static int 
lIllllIl(struct usb_hcd*lllIl,struct urb*urb,gfp_t llllI);
#endif
static void lllIIIlII(struct usb_hcd*lllIl,struct usb_host_endpoint*ep);static 
int IIlIIlIII(struct usb_hcd*lllIl,u16 IIIlIlIII,u16 wValue,u16 wIndex,char*
IllIl,u16 wLength);static int IIIlIIIIl(struct usb_hcd*lllIl,char*IllIl);static 
int llIIlIlll(struct usb_hcd*lllIl);static int IIIllIIll(struct usb_hcd*lllIl);
#if KERNEL_GT_EQ((0x1f7c+1277-0x2477),(0x388+4337-0x1473),(0x1829+2879-0x2341)) \
|| RHEL_RELEASE_GT_EQ((0x1323+2708-0x1db1),(0x4c7+1485-0xa91)) 
static int lllIlIIII(struct usb_hcd*lllIl,struct usb_device*IIIlI,struct 
usb_host_endpoint**IllIIllIl,unsigned int llIIIllII,unsigned int lIlllIlll,gfp_t
 llllI);static int llllIlIII(struct usb_hcd*lllIl,struct usb_device*IIIlI,struct
 usb_host_endpoint**IllIIllIl,unsigned int llIIIllII,gfp_t llllI);
#endif
static int IlIlllIII(struct lIIIII*Illll,int lIIlI,int IlIllII,int IllllII);
static int IlIlIlIlI(struct lIIIII*Illll,int lIIlI,int IlIllII);static void 
lIIlIII(struct lIIIII*Illll,int lIIlI,int lIIlIIIl);static void IlIIIlI(struct 
lIIIII*Illll,int lIIlI,int llllII,int IllllII);
#if KERNEL_GT_EQ((0x329+989-0x704),(0x2434+33-0x244f),(0x19f+2012-0x954)) || \
RHEL_RELEASE_GT_EQ((0x14ec+4536-0x269e),(0x16ac+3526-0x246f)) 
static int IIIllIlII(struct lIIIII*Illll,int lIIlI,int IlIllII,int IllllII);
static int lIIllIllI(struct lIIIII*Illll,int lIIlI,int IlIllII);static void 
IlllIlI(struct lIIIII*Illll,int lIIlI,int llllII,int IllllII);static void 
lIlIlll(struct lIIIII*Illll,int lIIlI,int lIIlIIIl);static void IllIIII(struct 
lIIIII*Illll,int lIIlI,int lIlIIllII);
#endif
#define IlIlIll(lllIl) ((struct lIIIII*)(lllIl->hcd_priv))
static struct platform_driver lIllllIIl={.probe=lIIIIIIIl,.remove=IIIIIlllI,.
driver={.name=lIIllll,.owner=THIS_MODULE,},};static struct platform_device 
llIllIlI={.name=lIIllll,.id=-(0x1ab+219-0x285),.dev={
.release=IIllIIIIl,},};static struct hc_driver IIIlIIlIl={.description=lIIllll,.
product_desc=
"\x56\x69\x72\x74\x75\x61\x6c\x20\x55\x53\x42\x20\x48\x6f\x73\x74\x20\x43\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72"
,.hcd_priv_size=sizeof(struct lIIIII),
#if KERNEL_GT_EQ((0x1300+3934-0x225c),(0x346+8424-0x2428),(0x1d57+1758-0x240e)) \
|| RHEL_RELEASE_GT_EQ((0x386+8111-0x232f),(0x447+3848-0x134c)) 
.flags=HCD_USB3|HCD_SHARED,
#else
.flags=HCD_USB2,
#endif
.reset=llIIllIIl,.start=lIIllllll,.stop=lllllIlII,.urb_enqueue=lIllllIl,.
urb_dequeue=lIlIIIlI,.endpoint_disable=lllIIIlII,.get_frame_number=lIllIllII,.
hub_status_data=IIIlIIIIl,.hub_control=IIlIIlIII,.bus_suspend=llIIlIlll,.
bus_resume=IIIllIIll,
#if KERNEL_GT_EQ((0x214+4764-0x14ae),(0x1970+624-0x1bda),(0x1446+3240-0x20c7)) \
|| RHEL_RELEASE_GT_EQ((0x48+736-0x322),(0x1ca4+1803-0x23ac)) 
.alloc_streams=lllIlIIII,.free_streams=llllIlIII,
#endif
};static struct list_head llIlllI;static spinlock_t IIlIII;
#if defined(CONFIG_X86_32) && !defined(_USBD_VHCI_NO_DMA_)
#  if KERNEL_LT((0xe31+2163-0x16a2),(0x25dd+175-0x2686),(0xc04+4949-0x1f41))
static u64 IlIlllIll=DMA_32BIT_MASK;
#  else
static u64 IlIlllIll=DMA_BIT_MASK((0xb4f+5875-0x2222));
#  endif
#endif
static int lIIIIIIIl(struct platform_device*IIIlIl){struct lIIIII*Illll;int 
IlIlI=(0xc85+6406-0x258b);int i;IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x70\x6c\x61\x74\x66\x6f\x72\x6d\x5f\x64\x72\x69\x76\x65\x72\x5f\x70\x72\x6f\x62\x65\x3a\x20\x2b\x2b" "\n"
);do
{
#if defined(CONFIG_X86_32) && !defined(_USBD_VHCI_NO_DMA_)
if(IlllIIll){IIIlIl->dev.dma_mask=&IlIlllIll;}
#endif

IllIllI=usb_create_hcd(&IIIlIIlIl,&IIIlIl->dev,llIIIl(&IIIlIl->dev));if(IllIllI
==NULL){IlIlI=-ENOMEM;break;}
#if KERNEL_GT_EQ((0xe3b+469-0x100e),(0x17dc+2643-0x2229),(0x2bf+2807-0xd9c))
IllIllI->has_tt=(0x670+4126-0x168d);
#endif
Illll=IlIlIll(IllIllI);memset(Illll,(0xca1+248-0xd99),sizeof(*Illll));Illll->
lllIl=IllIllI;spin_lock_init(&Illll->lock);for(i=(0x32b+2617-0xd64);i<IIIlIII;i
++){IlIIIlI(Illll,i,llllIIll,(0x5df+2606-0x100d));}IlIlI=usb_add_hcd(IllIllI,
(0x629+5660-0x1c45),(0x1f9d+1556-0x25b1));if(IlIlI!=(0x683+7465-0x23ac)){break;}
#if KERNEL_GT_EQ((0x371+6951-0x1e96),(0x1cfd+1529-0x22f0),(0xa07+3993-0x1979)) \
|| RHEL_RELEASE_GT_EQ((0x84+7483-0x1db9),(0x13db+1122-0x183a)) 

IllIlII=usb_create_shared_hcd(&IIIlIIlIl,&IIIlIl->dev,llIIIl(&IIIlIl->dev),
IllIllI);if(IllIlII==NULL){IlIlI=-ENOMEM;break;}Illll=IlIlIll(IllIlII);memset(
Illll,(0x1dc7+2069-0x25dc),sizeof(*Illll));Illll->lllIl=IllIlII;spin_lock_init(&
Illll->lock);for(i=(0x1ce7+1421-0x2274);i<IIIlIII;i++){IlllIlI(Illll,i,llllIIll,
(0x514+5778-0x1ba6));}IlIlI=usb_add_hcd(IllIlII,(0xf66+3034-0x1b40),
(0x1baa+1926-0x2330));if(IlIlI!=(0x11b9+3113-0x1de2)){break;}IlIlIll(IllIllI)->
llllllll=IllIlII;IlIlIll(IllIlII)->llllllll=IllIllI;
#endif 
}while((0x14f4+226-0x15d6));if(IlIlI!=(0x459+5113-0x1852)){if(IllIllI){
usb_put_hcd(IllIllI);IllIllI=NULL;}
#if KERNEL_GT_EQ((0x13a9+3829-0x229c),(0xd32+4141-0x1d59),(0xd8a+4744-0x1feb)) \
|| RHEL_RELEASE_GT_EQ((0x224c+227-0x2329),(0x14b1+31-0x14cd)) 
if(IllIlII){usb_put_hcd(IllIlII);IllIlII=NULL;}
#endif
}IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x70\x6c\x61\x74\x66\x6f\x72\x6d\x5f\x64\x72\x69\x76\x65\x72\x5f\x70\x72\x6f\x62\x65\x3a\x20\x2d\x2d\x20\x72\x65\x73\x75\x6c\x74\x20\x3d\x20\x25\x64" "\n"
,IlIlI);return IlIlI;}static int IIIIIlllI(struct platform_device*IIIlIl){struct
 usb_hcd*lllIl=platform_get_drvdata(IIIlIl);struct lIIIII*Illll=IlIlIll(lllIl);
IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x70\x6c\x61\x74\x66\x6f\x72\x6d\x5f\x64\x72\x69\x76\x65\x72\x5f\x72\x65\x6d\x6f\x76\x65\x5b\x25\x73\x5d\x3a\x20\x2b\x2b" "\n"
,lIllllI(lllIl));if(Illll->llllllll){usb_remove_hcd(Illll->llllllll);usb_put_hcd
(Illll->llllllll);Illll->llllllll=NULL;}usb_remove_hcd(lllIl);usb_put_hcd(lllIl)
;IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x70\x6c\x61\x74\x66\x6f\x72\x6d\x5f\x64\x72\x69\x76\x65\x72\x5f\x72\x65\x6d\x6f\x76\x65\x3a\x20\x2d\x2d" "\n"
);return(0x95+4723-0x1308);}static void IIllIIIIl(struct device*dev){return;}
static int llIIllIIl(struct usb_hcd*lllIl){IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x72\x65\x73\x65\x74\x5b\x25\x73\x5d" "\n"
,lIllllI(lllIl));


#if KERNEL_GT_EQ((0x2c6+5588-0x1898),(0x23+3538-0xdef),(0x9e1+3439-0x1729)) || \
RHEL_RELEASE_GT_EQ((0xd1d+5789-0x23b4),(0x73a+1912-0xeaf)) 
if(usb_hcd_is_primary_hcd(lllIl)){
IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x72\x65\x73\x65\x74\x3a\x20\x73\x65\x74\x74\x69\x6e\x67\x20\x75\x70\x20\x55\x53\x42\x32\x20\x68\x63\x64" "\n"
);lllIl->speed=HCD_USB2;lllIl->self.root_hub->speed=USB_SPEED_HIGH;}
#endif
return(0x1d0d+1911-0x2484);}static int lIIllllll(struct usb_hcd*lllIl){int i;
IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x73\x74\x61\x72\x74\x5b\x25\x73\x5d" "\n"
,lIllllI(lllIl));lllIl->power_budget=(0x534+7375-0x2203);lllIl->state=
HC_STATE_RUNNING;lllIl->uses_new_polling=(0x20+1561-0x638);for(i=
(0x1a95+1071-0x1ec4);i<IIIlIII;i++){
#if KERNEL_GT_EQ((0x145+3299-0xe26),(0x2dc+3239-0xf7d),(0x19bd+803-0x1cb9)) || \
RHEL_RELEASE_GT_EQ((0x14d2+4315-0x25a7),(0x22a6+25-0x22bc)) 
if(lllIl->speed==HCD_USB3){IlllIlI(IlIlIll(lllIl),i,lIllIIll,(0xe43+4101-0x1e48)
);}else
#endif
{IlIIIlI(IlIlIll(lllIl),i,lIllIIll,(0x18d1+1509-0x1eb6));}}return
(0x1649+1340-0x1b85);}static void lllllIlII(struct usb_hcd*lllIl){int i;IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x73\x74\x6f\x70\x5b\x25\x73\x5d" "\n",
lIllllI(lllIl));for(i=(0x773+2180-0xff7);i<IIIlIII;i++){
#if KERNEL_GT_EQ((0xda3+2915-0x1904),(0x872+4263-0x1913),(0x713+5964-0x1e38)) ||\
 RHEL_RELEASE_GT_EQ((0x2004+1588-0x2632),(0x93a+4194-0x1999)) 
if(lllIl->speed==HCD_USB3){IlllIlI(IlIlIll(lllIl),i,IlIlIIII,
(0x1015+1126-0x147b));}else
#endif
{IlIIIlI(IlIlIll(lllIl),i,IlIlIIII,(0xa5c+3690-0x18c6));}}}static int lIllIllII(
struct usb_hcd*lllIl){IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x67\x65\x74\x5f\x66\x72\x61\x6d\x65\x5f\x6e\x75\x6d\x62\x65\x72\x5b\x25\x73\x5d" "\n"
,lIllllI(lllIl));return(0x35c+6833-0x1e0d);}int IlllIIIll(struct lIlIIl*lIllI,
struct lllIIl**lllIIlll,struct urb*lIlll){IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x61\x64\x64\x5f\x75\x72\x62\x3a\x20\x75\x72\x62\x3d\x25\x70" "\n"
,lIlll);if(*lllIIlll){struct llllllI*lIlIII;IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x61\x64\x64\x5f\x75\x72\x62\x3a\x20\x65\x78\x69\x73\x74\x69\x6e\x67\x20\x70\x76\x72\x65\x71" "\n"
);lIlIII=IIIllII(sizeof(struct llllllI),GFP_ATOMIC);if(lIlIII){lIlIII->lIlll=
lIlll;list_add_tail(&lIlIII->IIIIll,&(*lllIIlll)->llIIlll);}else{IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x61\x64\x64\x5f\x75\x72\x62\x3a\x20\x6e\x6f\x20\x6d\x65\x6d\x6f\x72\x79\x20\x66\x6f\x72\x20\x75\x72\x62\x5f\x6c\x69\x73\x74" "\n"
);return-ENOMEM;}}else{IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x61\x64\x64\x5f\x75\x72\x62\x3a\x20\x6e\x65\x77\x20\x70\x76\x72\x65\x71" "\n"
);*lllIIlll=lIlIllIII(lIllI,GFP_ATOMIC);if(*lllIIlll==NULL){IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x61\x64\x64\x5f\x75\x72\x62\x3a\x20\x6e\x6f\x20\x6d\x65\x6d\x6f\x72\x79\x20\x66\x6f\x72\x20\x71\x75\x65\x75\x65\x5f\x65\x6e\x74\x72\x79" "\n"
);return-ENOMEM;}else{(*lllIIlll)->urb.lIlll=lIlll;list_add_tail(&(*lllIIlll)->
urb.IIIIll,&(*lllIIlll)->llIIlll);}}return(0x373+351-0x4d2);}
#if KERNEL_LT((0xd90+1109-0x11e3),(0xa49+6595-0x2406),(0xa1+1143-0x500))
static int lIllllIl(struct usb_hcd*lllIl,struct usb_host_endpoint*ep,struct urb*
urb,gfp_t llllI)
#else
static int lIllllIl(struct usb_hcd*lllIl,struct urb*urb,gfp_t llllI)
#endif
{int IlIlI=-EINPROGRESS;struct lIIIII*Illll=IlIlIll(lllIl);struct lIlIIl*lIllI=
NULL;struct lllIIl*IIlII=NULL;unsigned long flags;int lllIIIIII=
(0x3ec+5714-0x1a3e);IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x75\x72\x62\x5f\x65\x6e\x71\x75\x65\x75\x65\x5b\x25\x73\x5d\x3a\x20\x2b\x2b\x20\x75\x72\x62\x3d\x30\x78\x25\x70\x20\x75\x73\x62\x5f\x64\x65\x76\x69\x63\x65\x3d\x30\x78\x25\x70\x20\x70\x61\x72\x65\x6e\x74\x3d\x30\x78\x25\x70\x20\x64\x65\x76\x6e\x75\x6d\x3d\x25\x64\x20\x6e\x75\x6d\x5f\x73\x67\x73\x3d\x25\x64" "\n"
,lIllllI(lllIl),urb,urb->dev,urb->dev->dev.parent,urb->dev->devnum,
#if KERNEL_GT_EQ((0xc5d+2828-0x1767),(0x260+6640-0x1c4a),(0x7eb+876-0xb38))
urb->num_sgs);
#else
(0x1f43+1479-0x250a));
#endif
lIIlllIIl(urb,(0xa37+4682-0x1c81));do
{
#if KERNEL_GT_EQ((0x11ea+1052-0x1604),(0x1d2f+2334-0x2647),(0x126+8924-0x23ea))
struct usb_host_endpoint*ep=urb->ep;
#endif
spin_lock_irqsave(&Illll->lock,flags);
#if KERNEL_GT_EQ((0x15b0+1885-0x1d0b),(0xb4d+3446-0x18bd),(0x5f7+2041-0xdd8))


IlIlI=usb_hcd_link_urb_to_ep(lllIl,urb);
#else
spin_lock(&urb->lock);IlIlI=(urb->status==-EINPROGRESS)?(0x20ed+1375-0x264c):urb
->status;spin_unlock(&urb->lock);
#endif
if(IlIlI!=(0x669+4197-0x16ce)){spin_unlock_irqrestore(&Illll->lock,flags);IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x75\x72\x62\x5f\x65\x6e\x71\x75\x65\x75\x65\x3a\x20\x75\x72\x62\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x75\x6e\x6c\x69\x6e\x6b\x65\x64" "\n"
);break;}
#if KERNEL_GT_EQ((0xd9b+6169-0x25b2),(0x94d+4709-0x1bac),(0x29+834-0x344)) || \
RHEL_RELEASE_GT_EQ((0xe53+413-0xfea),(0x1349+4747-0x25d1)) 








if(lllIl->speed==HCD_USB3){
lIllI=llllIIlII(lllIl,urb->dev->portnum);}else
#endif
{
lIllI=IIlIlIllI(lllIl,usb_pipedevice(urb->pipe));}if(lIllI==NULL){
#if KERNEL_GT_EQ((0x2227+914-0x25b7),(0xe2c+0-0xe26),(0x16a9+1062-0x1ab7))
usb_hcd_unlink_urb_from_ep(lllIl,urb);
#endif
spin_unlock_irqrestore(&Illll->lock,flags);IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x75\x72\x62\x5f\x65\x6e\x71\x75\x65\x75\x65\x3a\x20\x64\x65\x76\x69\x63\x65\x20\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64" "\n"
);IlIlI=-ENODEV;break;}if(usb_pipedevice(urb->pipe)==(0x399+2566-0xd9f)&&
usb_pipetype(urb->pipe)==PIPE_CONTROL){struct usb_ctrlrequest*llIlll=(struct 
usb_ctrlrequest*)urb->setup_packet;if(!llIlll){
#if KERNEL_GT_EQ((0x2028+1292-0x2532),(0x76f+4627-0x197c),(0xe00+2218-0x1692))
usb_hcd_unlink_urb_from_ep(lllIl,urb);
#endif
spin_unlock_irqrestore(&Illll->lock,flags);IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x75\x72\x62\x5f\x65\x6e\x71\x75\x65\x75\x65\x3a\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x63\x6f\x6e\x74\x72\x6f\x6c\x20\x74\x72\x61\x6e\x73\x66\x65\x72\x20\x75\x72\x62" "\n"
);IlIlI=-EINVAL;break;}if(llIlll->bRequest==USB_REQ_SET_ADDRESS){IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x75\x72\x62\x5f\x65\x6e\x71\x75\x65\x75\x65\x3a\x20\x55\x53\x42\x5f\x52\x45\x51\x5f\x53\x45\x54\x5f\x41\x44\x44\x52\x45\x53\x53\x20\x61\x64\x64\x72\x65\x73\x73\x3d\x25\x64" "\n"
,llIlll->wValue);lIllI->IIlIllI=le16_to_cpu(llIlll->wValue);
#if KERNEL_GT_EQ((0xe88+3624-0x1cae),(0x14f4+730-0x17c8),(0x108+1483-0x6bb))
usb_hcd_unlink_urb_from_ep(lllIl,urb);
#endif
spin_unlock(&Illll->lock);
#if KERNEL_LT((0x62b+4201-0x1692),(0xa4f+4226-0x1acb),(0xbf8+6256-0x2450))

spin_lock(&urb->lock);if(urb->status==-EINPROGRESS){urb->status=
(0x45a+8720-0x266a);}spin_unlock(&urb->lock);
#else

#endif
#if KERNEL_LT((0x859+6220-0x20a3),(0x56d+6208-0x1da7),(0xb65+1663-0x11d1))
usb_hcd_giveback_urb(lIllI->parent,urb,NULL);
#elif KERNEL_LT((0x520+8436-0x2612),(0x69b+7557-0x241a),(0xb55+3236-0x17e1))
usb_hcd_giveback_urb(lIllI->parent,urb);
#else
usb_hcd_giveback_urb(lIllI->parent,urb,(0xd06+4096-0x1d06));
#endif
local_irq_restore(flags);IlIlI=(0x1596+4116-0x25aa);break;}}IIlII=ep->hcpriv;
IlIlI=IlllIIIll(lIllI,&IIlII,urb);if(IlIlI!=(0xb25+4984-0x1e9d)){
#if KERNEL_GT_EQ((0x46f+331-0x5b8),(0x4a9+971-0x86e),(0x171c+3694-0x2572))
usb_hcd_unlink_urb_from_ep(lllIl,urb);
#endif
spin_unlock_irqrestore(&Illll->lock,flags);break;}urb->hcpriv=IIlII;if((
usb_pipetype(urb->pipe)==PIPE_BULK)&&(urb->transfer_flags&URB_NO_INTERRUPT)&&((
usb_pipein(urb->pipe)&&(urb->transfer_flags&URB_SHORT_NOT_OK))||(usb_pipeout(urb
->pipe)&&!(urb->transfer_flags&URB_ZERO_PACKET)))){IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x75\x72\x62\x5f\x65\x6e\x71\x75\x65\x75\x65\x3a\x20\x6d\x65\x72\x67\x65\x20\x73\x70\x6c\x69\x74\x74\x65\x64\x20\x75\x72\x62" "\n"
);if(ep->hcpriv==NULL){ep->hcpriv=IIlII;
spin_lock(&lIllI->IIllII);list_add_tail(&IIlII->llllIl,&lIllI->IlIIIII);
spin_unlock(&lIllI->IIllII);}}else{spin_lock(&lIllI->IIllII);if(ep->hcpriv){ep->
hcpriv=NULL;
list_del(&IIlII->llllIl);}list_add_tail(&IIlII->llllIl,&lIllI->lllIlll);
lllIIIIII=(0x10cb+2031-0x18b9);spin_unlock(&lIllI->IIllII);}
spin_unlock_irqrestore(&Illll->lock,flags);if(lllIIIIII){wake_up(&lIllI->lIIllI)
;}IlIlI=-EINPROGRESS;}while((0x4a4+4903-0x17cb));if(lIllI){
IlIllIIl(lIllI);}if(IlIlI==-EINPROGRESS){
IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x75\x72\x62\x5f\x65\x6e\x71\x75\x65\x75\x65\x3a\x20\x2d\x2d\x20\x72\x65\x73\x75\x6c\x74\x3d\x25\x64" "\n"
,(0x770+7369-0x2439));return(0x3ec+1098-0x836);}IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x75\x72\x62\x5f\x65\x6e\x71\x75\x65\x75\x65\x3a\x20\x2d\x2d\x20\x72\x65\x73\x75\x6c\x74\x3d\x25\x64" "\n"
,IlIlI);return IlIlI;}
#if KERNEL_LT((0x5f6+3850-0x14fe),(0x670+32-0x68a),(0xb5b+4585-0x1d2c))
static int lIlIIIlI(struct usb_hcd*lllIl,struct urb*urb)
#else
static int lIlIIIlI(struct usb_hcd*lllIl,struct urb*urb,int status)
#endif
{struct lIIIII*Illll=IlIlIll(lllIl);struct lllIIl*IIlII;lIIll IIlIl;int IlIlI=
(0x173b+3061-0x2330);int unlinked;unsigned long flags;IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x75\x72\x62\x5f\x64\x65\x71\x75\x65\x75\x65\x5b\x25\x73\x5d\x3a\x20\x2b\x2b\x20\x75\x72\x62\x3d\x30\x78\x25\x70" "\n"
,lIllllI(lllIl),urb);do
{spin_lock_irqsave(&Illll->lock,flags);
#if KERNEL_GT_EQ((0xd78+2741-0x182b),(0xc6f+3451-0x19e4),(0x8cb+5101-0x1ca0))
IlIlI=usb_hcd_check_unlink_urb(lllIl,urb,status);if(IlIlI!=(0x108d+2560-0x1a8d))
{

spin_unlock_irqrestore(&Illll->lock,flags);break;}
#endif
IIlII=(struct lllIIl*)urb->hcpriv;if(!IIlII){

IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x75\x72\x62\x5f\x64\x65\x71\x75\x65\x75\x65\x3a\x20\x6e\x6f\x20\x64\x65\x76\x69\x63\x65\x21" "\n"
);spin_unlock_irqrestore(&Illll->lock,flags);break;}spin_lock(&IIlII->lIllI->
IIllII);unlinked=IIIIIlIll(IIlII);spin_unlock(&IIlII->lIllI->IIllII);
spin_unlock_irqrestore(&Illll->lock,flags);if(unlinked){
#if KERNEL_LT((0x8ba+2705-0x1349),(0x732+7890-0x25fe),(0x4d3+4295-0x1582))
IIllIlII(IIlII,-ECONNRESET);
#else
IIllIlII(IIlII,status);
#endif
IIlIl=IIIllII(sizeof(IIIIlIlII),GFP_ATOMIC);if(!IIlIl){IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x75\x72\x62\x5f\x64\x65\x71\x75\x65\x75\x65\x3a\x20\x6e\x6f\x20\x6d\x65\x6d\x6f\x72\x79\x20\x66\x6f\x72\x20\x75\x6e\x72\x62" "\n"
);lIIlllII(IIlII);break;}IIlIl->IlIII.IlIIll=IIlII->IIllI;IIlIl->IlIII.IIllIlI=
(0x912+6483-0x2265);IIlIl->IlIII.IIIII=sizeof(IIIIlIlII);IIlIl->IlIII.lIIllII=
llIIlIll;IIlIl->IlIII.Status=(0xc3c+3464-0x19c4);IIlIl->IlIII.Context=
(0x2312+503-0x2509);INIT_LIST_HEAD(&IIlII->llIIlll);IIlII->urb.lIlll=NULL;IIlII
->IIlIl=IIlIl;spin_lock_irqsave(&IIlII->lIllI->IIllII,flags);list_add_tail(&
IIlII->llllIl,&IIlII->lIllI->lllIlll);spin_unlock_irqrestore(&IIlII->lIllI->
IIllII,flags);wake_up(&IIlII->lIllI->lIIllI);}else{

IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x75\x72\x62\x5f\x64\x65\x71\x75\x65\x75\x65\x3a\x20\x75\x72\x62\x20\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x71\x75\x65\x75\x65" "\n"
);}}while((0xf87+1639-0x15ee));IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x75\x72\x62\x5f\x64\x65\x71\x75\x65\x75\x65\x3a\x20\x2d\x2d\x20\x72\x65\x73\x75\x6c\x74\x3d\x25\x64" "\n"
,IlIlI);return IlIlI;}void lllIIIlII(struct usb_hcd*lllIl,struct 
usb_host_endpoint*ep){unsigned long flags;struct lIIIII*Illll=IlIlIll(lllIl);
IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x5b\x25\x73\x5d\x3a\x20\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x65\x6e\x64\x70\x6f\x69\x6e\x74\x5f\x64\x69\x73\x61\x62\x6c\x65\x2b\x2b\x20\x65\x70\x3d\x25\x70" "\n"
,lIllllI(lllIl),ep);spin_lock_irqsave(&Illll->lock,flags);if(ep->hcpriv){IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x63\x6c\x65\x61\x6e\x69\x6e\x67\x20\x75\x70\x20\x68\x63\x70\x72\x69\x76" "\n"
);ep->hcpriv=NULL;}spin_unlock_irqrestore(&Illll->lock,flags);IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x65\x6e\x64\x70\x6f\x69\x6e\x74\x5f\x64\x69\x73\x61\x62\x6c\x65\x2d\x2d" "\n"
);}
#if KERNEL_GT_EQ((0xb63+1654-0x11d7),(0x43d+185-0x4f0),(0x285+8181-0x2253)) || \
RHEL_RELEASE_GT_EQ((0x44c+8361-0x24ef),(0x15fa+1320-0x1b1f)) 
#define llIIIIIll \
		( USB_PORT_STAT_C_CONNECTION \
		| USB_PORT_STAT_C_ENABLE \
		| USB_PORT_STAT_C_SUSPEND \
		| USB_PORT_STAT_C_OVERCURRENT \
		| USB_PORT_STAT_C_RESET \
		| USB_PORT_STAT_C_BH_RESET \
		| USB_PORT_STAT_C_LINK_STATE \
		| USB_PORT_STAT_C_CONFIG_ERROR )
#else
#define llIIIIIll \
		( USB_PORT_STAT_C_CONNECTION \
		| USB_PORT_STAT_C_ENABLE \
		| USB_PORT_STAT_C_SUSPEND \
		| USB_PORT_STAT_C_OVERCURRENT \
		| USB_PORT_STAT_C_RESET )
#endif
#if KERNEL_GT_EQ((0x8d1+7531-0x263a),(0x826+1890-0xf82),(0x48b+8331-0x24ef)) || \
RHEL_RELEASE_GT_EQ((0x15b+5986-0x18b7),(0x1120+4340-0x2211)) 
size_t lIIllIlll(void*IllIl,size_t IIlIIl){struct{struct usb_bos_descriptor 
IIllIlll;struct usb_ss_cap_descriptor ss_cap;}__packed llIIllI;memset(&llIIllI,
(0xeda+1135-0x1349),sizeof(llIIllI));llIIllI.IIllIlll.bLength=USB_DT_BOS_SIZE,
llIIllI.IIllIlll.bDescriptorType=USB_DT_BOS,llIIllI.IIllIlll.wTotalLength=
cpu_to_le16(sizeof(llIIllI)),llIIllI.IIllIlll.bNumDeviceCaps=(0x278+3559-0x105e)
,llIIllI.ss_cap.bLength=USB_DT_USB_SS_CAP_SIZE,llIIllI.ss_cap.bDescriptorType=
USB_DT_DEVICE_CAPABILITY,llIIllI.ss_cap.bDevCapabilityType=USB_SS_CAP_TYPE,
llIIllI.ss_cap.wSpeedSupported=cpu_to_le16(USB_5GBPS_OPERATION),llIIllI.ss_cap.
bFunctionalitySupport=ilog2(USB_5GBPS_OPERATION),IIlIIl=min(sizeof(llIIllI),
IIlIIl);memcpy(IllIl,&llIIllI,IIlIIl);return IIlIIl;}size_t IlIIlllll(void*IllIl
,size_t IIlIIl){struct usb_hub_descriptor desc;memset(&desc,(0x192c+3145-0x2575)
,sizeof(desc));desc.bDescLength=(0x1ec9+1317-0x23e2);desc.bDescriptorType=
(0xa01+93-0xa34);desc.bNbrPorts=IIIlIII;
desc.wHubCharacteristics=cpu_to_le16((0x10b+5749-0x177f));desc.u.ss.
bHubHdrDecLat=(0xa48+7096-0x25fc);
desc.u.ss.DeviceRemovable=cpu_to_le16(65534&(65535>>((0x1324+4239-0x23a4)-
IIIlIII)));IIlIIl=min((size_t)desc.bDescLength,IIlIIl);memcpy(IllIl,&desc,IIlIIl
);return IIlIIl;}
#endif 
size_t lIIllIlIl(void*IllIl,size_t IIlIIl){__u8*llIIIlll;struct 
usb_hub_descriptor desc;memset(&desc,(0x18fd+701-0x1bba),sizeof(desc));desc.
bDescLength=(0xf7c+998-0x135b)+lIIIIIlI*(0x1ed+6378-0x1ad5);desc.bDescriptorType
=(0x4fb+1883-0xc2d);desc.bNbrPorts=IIIlIII;desc.wHubCharacteristics=cpu_to_le16(
(0x13+3368-0xd3a));
#if KERNEL_GT_EQ((0x675+1617-0xcc4),(0x2f5+3623-0x1116),(0x1f86+471-0x2136)) || \
RHEL_RELEASE_GT_EQ((0x10f8+1460-0x16a6),(0x1590+4097-0x258f))
llIIIlll=desc.u.hs.DeviceRemovable;
#else
llIIIlll=desc.DeviceRemovable;
#endif
memset(&llIIIlll[(0x149f+1521-0x1a90)],(0x11da+1094-0x1620),lIIIIIlI);memset(&
llIIIlll[lIIIIIlI],(0x1bfd+3057-0x26ef),lIIIIIlI);IIlIIl=min((size_t)desc.
bDescLength,IIlIIl);memcpy(IllIl,&desc,IIlIIl);return IIlIIl;}static int 
IIlIIlIII(struct usb_hcd*lllIl,u16 IIIlIlIII,u16 wValue,u16 wIndex,char*IllIl,
u16 wLength){struct lIIIII*Illll=IlIlIll(lllIl);int IlIlI=(0xe62+398-0xff0);int 
lIIlI=-(0x1462+1189-0x1906);int IIIlIlIll=(0x16e3+3390-0x2421);unsigned long 
flags;IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x5b\x25\x73\x5d\x3a\x20\x2b\x2b" "\n"
,lIllllI(lllIl));if(!test_bit(HCD_FLAG_HW_ACCESSIBLE,&lllIl->flags)){return-
ETIMEDOUT;}spin_lock_irqsave(&Illll->lock,flags);switch(IIIlIlIII){case 
GetHubDescriptor:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x47\x65\x74\x48\x75\x62\x44\x65\x73\x63\x72\x69\x70\x74\x6f\x72" "\n"
);
#if KERNEL_GT_EQ((0x9bc+12-0x9c6),(0x67+9688-0x2639),(0x155d+203-0x1601)) || \
RHEL_RELEASE_GT_EQ((0x111b+505-0x130e),(0x236f+273-0x247d)) 
if(lllIl->speed==HCD_USB3){if((wValue>>(0x95f+1972-0x110b))!=USB_DT_SS_HUB){
IlIlI=-EPIPE;break;}

IlIIlllll(IllIl,wLength);}else
#endif
{if((wValue>>(0x1b94+2228-0x2440))!=USB_DT_HUB){IlIlI=-EPIPE;break;}lIIllIlIl(
IllIl,wLength);}break;
#if KERNEL_GT_EQ((0x17b0+1305-0x1cc7),(0xa31+4921-0x1d64),(0x994+5352-0x1e55)) \
|| RHEL_RELEASE_GT_EQ((0xa37+2018-0x1213),(0x7ea+4147-0x181a)) 
case DeviceRequest|USB_REQ_GET_DESCRIPTOR:if(lllIl->speed!=HCD_USB3){IlIlI=-
EPIPE;break;}if((wValue>>(0x1f41+199-0x2000))!=USB_DT_BOS){IlIlI=-EPIPE;break;}
IlIlI=lIIllIlll(IllIl,wLength);break;case GetPortErrorCount:
if(lllIl->speed!=HCD_USB3){IlIlI=-EPIPE;break;}
*(__le16*)IllIl=cpu_to_le16((0xc2+3969-0x1043));break;case SetHubDepth:
if(lllIl->speed!=HCD_USB3){IlIlI=-EPIPE;break;}
break;
#endif
case GetHubStatus:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x47\x65\x74\x48\x75\x62\x53\x74\x61\x74\x75\x73" "\n"
);*(__le32*)IllIl=cpu_to_le32((0xdad+1480-0x1375));break;case SetHubFeature:
IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x53\x65\x74\x48\x75\x62\x46\x65\x61\x74\x75\x72\x65" "\n"
);
IlIlI=-EPIPE;break;case ClearHubFeature:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x43\x6c\x65\x61\x72\x48\x75\x62\x46\x65\x61\x74\x75\x72\x65" "\n"
);
break;case GetPortStatus:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x47\x65\x74\x50\x6f\x72\x74\x53\x74\x61\x74\x75\x73" "\n"
);lIIlI=(wIndex&(0x44c+5463-0x18a4))-(0xeed+1609-0x1535);IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x70\x6f\x72\x74\x3d\x25\x64" "\n"
,lIIlI);if(lIIlI<(0xacf+2836-0x15e3)||lIIlI>=IIIlIII){lIIlI=-(0x250+4560-0x141f)
;IlIlI=-EPIPE;break;}

if(Illll->llIlIII[lIIlI]&&time_after_eq(jiffies,Illll->llIlIII[lIIlI])){if(Illll
->lllllIIl[lIIlI]==lIIIIIl){Illll->lllIllI[lIIlI]->IIlIllI=(0x2042+593-0x2293);}
#if KERNEL_GT_EQ((0xab7+5952-0x21f5),(0xfe4+1511-0x15c5),(0x290+6290-0x1afb)) ||\
 RHEL_RELEASE_GT_EQ((0x1019+4236-0x209f),(0x8b5+7118-0x2480)) 
if(lllIl->speed==HCD_USB3){IlllIlI(Illll,lIIlI,lIlIlIIl,(0x6f+4382-0x118d));}
else
#endif
{IlIIIlI(Illll,lIIlI,lIlIlIIl,(0x15a7+3205-0x222c));}}((__le16*)IllIl)[
(0x198b+1664-0x200b)]=cpu_to_le16(Illll->IIIIIll[lIIlI]);((__le16*)IllIl)[
(0x529+1675-0xbb3)]=cpu_to_le16(Illll->lIlIIlI[lIIlI]);break;case SetPortFeature
:lIIlI=(wIndex&(0x175d+1653-0x1cd3))-(0x212+3795-0x10e4);if(lIIlI<
(0x64c+5786-0x1ce6)||lIIlI>=IIIlIII){IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x53\x65\x74\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x70\x6f\x72\x74\x20\x6e\x75\x6d\x62\x65\x72\x20\x28\x25\x64\x29" "\n"
,lIIlI);lIIlI=-(0x27f+3280-0xf4e);IlIlI=-EPIPE;break;}
#if KERNEL_GT_EQ((0x1637+3072-0x2235),(0x11d2+5268-0x2660),(0x1482+2548-0x1e4f))\
 || RHEL_RELEASE_GT_EQ((0xc5d+1238-0x112d),(0x513+5984-0x1c70)) 
if(lllIl->speed==HCD_USB3){IlIlI=IIIllIlII(Illll,lIIlI,wValue,wIndex>>
(0x861+2-0x85b));}else
#endif
{IlIlI=IlIlllIII(Illll,lIIlI,wValue,wIndex>>(0x1144+3391-0x1e7b));}break;case 
ClearPortFeature:lIIlI=(wIndex&(0x483+4137-0x13ad))-(0xf75+3677-0x1dd1);if(lIIlI
<(0xf0+7612-0x1eac)||lIIlI>=IIIlIII){IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x70\x6f\x72\x74\x20\x6e\x75\x6d\x62\x65\x72\x20\x28\x25\x64\x29" "\n"
,lIIlI);lIIlI=-(0xf78+4840-0x225f);IlIlI=-EPIPE;break;}
#if KERNEL_GT_EQ((0x7c+9691-0x2655),(0x10bb+1901-0x1822),(0xe0d+5056-0x21a6)) ||\
 RHEL_RELEASE_GT_EQ((0x1940+1078-0x1d70),(0x5a4+2296-0xe99)) 
if(lllIl->speed==HCD_USB3){IlIlI=lIIllIllI(Illll,lIIlI,wValue);}else
#endif
{IlIlI=IlIlIlIlI(Illll,lIIlI,wValue);}break;default:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x52\x65\x71\x3d\x30\x78\x25\x30\x34\x58\x20\x56\x61\x6c\x75\x65\x3d\x30\x78\x25\x30\x34\x58\x20\x49\x6e\x64\x65\x78\x3d\x30\x78\x25\x30\x34\x58\x69\x20\x4c\x65\x6e\x67\x74\x68\x3d\x25\x64" "\n"
,IIIlIlIII,wValue,wIndex,wLength);
IlIlI=-EPIPE;break;}
IIIlIlIll=(lIIlI!=-(0x1740+3736-0x25d7))&&((Illll->lIlIIlI[lIIlI]&llIIIIIll)!=
(0xf54+1447-0x14fb));spin_unlock_irqrestore(&Illll->lock,flags);if(IIIlIlIll){
usb_hcd_poll_rh_status(lllIl);}IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x2d\x2d\x20\x72\x65\x73\x75\x6c\x74\x20\x3d\x20\x25\x64" "\n"
,IlIlI);return IlIlI;}static int IlIlllIII(struct lIIIII*Illll,int lIIlI,int 
IlIllII,int IllllII){int IlIlI=(0x106b+753-0x135c);switch(IlIllII){case 
USB_PORT_FEAT_ENABLE:IlllI(
"\x53\x65\x74\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x45\x4e\x41\x42\x4c\x45\x29" "\n"
,lIIlI);


IlIlI=-EPIPE;break;case USB_PORT_FEAT_SUSPEND:IlllI(
"\x53\x65\x74\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x53\x55\x53\x50\x45\x4e\x44\x29" "\n"
,lIIlI);




IlIIIlI(Illll,lIIlI,lIIIlIIlI,(0x7e4+5417-0x1d0d));break;case 
USB_PORT_FEAT_RESET:IlllI(
"\x53\x65\x74\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x52\x45\x53\x45\x54\x29" "\n"
,lIIlI);





IlIIIlI(Illll,lIIlI,IIlIllll,(0x3c5+1991-0xb8c));if(Illll->lllIllI[lIIlI]&&Illll
->lllIllI[lIIlI]->IIlIllI>(0x21a8+918-0x253e)){llIlIlIll(Illll->lllIllI[lIIlI]);
}break;case USB_PORT_FEAT_POWER:IlllI(
"\x53\x65\x74\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x50\x4f\x57\x45\x52\x29" "\n"
,lIIlI);


IlIIIlI(Illll,lIIlI,lllIIlIl,(0x6f6+1672-0xd7e));break;case USB_PORT_FEAT_TEST:
IlllI(
"\x53\x65\x74\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x54\x45\x53\x54\x29" "\n"
,lIIlI);
break;case USB_PORT_FEAT_INDICATOR:IlllI(
"\x53\x65\x74\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x49\x4e\x44\x49\x43\x41\x54\x4f\x52\x29" "\n"
,lIIlI);
break;case USB_PORT_FEAT_CONNECTION:case USB_PORT_FEAT_OVER_CURRENT:case 
USB_PORT_FEAT_C_CONNECTION:case USB_PORT_FEAT_C_OVER_CURRENT:case 
USB_PORT_FEAT_C_RESET:case USB_PORT_FEAT_LOWSPEED:case USB_PORT_FEAT_C_ENABLE:
case USB_PORT_FEAT_C_SUSPEND:


break;default:
IlllI(
"\x53\x65\x74\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x20\x25\x64\x29" "\n"
,lIIlI,IlIllII);IlIlI=-EPIPE;break;}return IlIlI;}static int IlIlIlIlI(struct 
lIIIII*Illll,int lIIlI,int IlIllII){int IlIlI=(0x2e6+460-0x4b2);switch(IlIllII){
case USB_PORT_FEAT_ENABLE:IlllI(
"\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x45\x4e\x41\x42\x4c\x45\x29" "\n"
,lIIlI);



IlIIIlI(Illll,lIIlI,IIlIIlll,(0x2b5+3533-0x1082));break;case 
USB_PORT_FEAT_SUSPEND:IlllI(
"\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x53\x55\x53\x50\x45\x4e\x44\x29" "\n"
,lIIlI);



IlIIIlI(Illll,lIIlI,IlllIlIIl,(0x498+8370-0x254a));break;case 
USB_PORT_FEAT_POWER:IlllI(
"\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x50\x4f\x57\x45\x52\x29" "\n"
,lIIlI);

IlIIIlI(Illll,lIIlI,IIIIlIll,(0x1818+1766-0x1efe));break;case 
USB_PORT_FEAT_C_CONNECTION:IlllI(
"\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x43\x5f\x43\x4f\x4e\x4e\x45\x43\x54\x49\x4f\x4e\x29" "\n"
,lIIlI);IlIIIlI(Illll,lIIlI,llIIlIlI,(0x79f+297-0x8c8));break;case 
USB_PORT_FEAT_C_ENABLE:IlllI(
"\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x43\x5f\x45\x4e\x41\x42\x4c\x45\x29" "\n"
,lIIlI);IlIIIlI(Illll,lIIlI,IlIllIlIl,(0x14f+5137-0x1560));break;case 
USB_PORT_FEAT_C_SUSPEND:IlllI(
"\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x43\x5f\x53\x55\x53\x50\x45\x4e\x44\x29" "\n"
,lIIlI);IlIIIlI(Illll,lIIlI,IIlIlIlIl,(0x11a8+966-0x156e));break;case 
USB_PORT_FEAT_C_OVER_CURRENT:IlllI(
"\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x43\x5f\x4f\x56\x45\x52\x5f\x43\x55\x52\x52\x45\x4e\x54\x29" "\n"
,lIIlI);
break;case USB_PORT_FEAT_C_RESET:IlllI(
"\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x43\x5f\x52\x45\x53\x45\x54\x29" "\n"
,lIIlI);IlIIIlI(Illll,lIIlI,lIIllllI,(0x14a1+2216-0x1d49));break;case 
USB_PORT_FEAT_INDICATOR:IlllI(
"\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x49\x4e\x44\x49\x43\x41\x54\x4f\x52\x29" "\n"
,lIIlI);
break;case USB_PORT_FEAT_CONNECTION:case USB_PORT_FEAT_OVER_CURRENT:case 
USB_PORT_FEAT_RESET:case USB_PORT_FEAT_TEST:


break;default:IlllI(
"\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x20\x25\x64\x29" "\n"
,lIIlI,IlIllII);IlIlI=-EPIPE;break;}return IlIlI;}
#if KERNEL_GT_EQ((0x24d1+409-0x2668),(0x13d3+2341-0x1cf2),(0x1972+3469-0x26d8)) \
|| RHEL_RELEASE_GT_EQ((0x28+1029-0x427),(0x1011+2220-0x18ba)) 
static int IIIllIlII(struct lIIIII*Illll,int lIIlI,int IlIllII,int IllllII){int 
IlIlI=(0x2373+300-0x249f);switch(IlIllII){case USB_PORT_FEAT_BH_PORT_RESET:IlllI
(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x53\x65\x74\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x42\x48\x5f\x50\x4f\x52\x54\x5f\x52\x45\x53\x45\x54\x29" "\n"
,lIIlI);







case USB_PORT_FEAT_RESET:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x53\x65\x74\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x52\x45\x53\x45\x54\x29" "\n"
,lIIlI);





IlllIlI(Illll,lIIlI,IIlIllll,(0x18a0+1301-0x1db5));if(Illll->lllIllI[lIIlI]&&
Illll->lllIllI[lIIlI]->IIlIllI>(0xa97+261-0xb9c)){llIlIlIll(Illll->lllIllI[lIIlI
]);}break;case USB_PORT_FEAT_LINK_STATE:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x53\x65\x74\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x4c\x49\x4e\x4b\x5f\x53\x54\x41\x54\x45\x2c\x20\x30\x78\x25\x30\x34\x78\x29" "\n"
,lIIlI,IllllII);


IlllIlI(Illll,lIIlI,IlIIIIll,IllllII);break;case USB_PORT_FEAT_POWER:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x53\x65\x74\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x50\x4f\x57\x45\x52\x29" "\n"
,lIIlI);

IlllIlI(Illll,lIIlI,lllIIlIl,(0x1e69+1655-0x24e0));break;case 
USB_PORT_FEAT_U1_TIMEOUT:case USB_PORT_FEAT_U2_TIMEOUT:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x53\x65\x74\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x55\x31\x2f\x55\x32\x5f\x54\x49\x4d\x45\x4f\x55\x54\x29" "\n"
,lIIlI);


break;case USB_PORT_FEAT_REMOTE_WAKE_MASK:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x53\x65\x74\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x52\x45\x4d\x4f\x54\x45\x5f\x57\x41\x4b\x45\x5f\x4d\x41\x53\x4b\x29" "\n"
,lIIlI);

break;case USB_PORT_FEAT_FORCE_LINKPM_ACCEPT:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x53\x65\x74\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x46\x4f\x52\x43\x45\x5f\x4c\x49\x4e\x4b\x50\x4d\x5f\x41\x43\x43\x45\x50\x54\x29" "\n"
,lIIlI);
break;case USB_PORT_FEAT_CONNECTION:case USB_PORT_FEAT_OVER_CURRENT:case 
USB_PORT_FEAT_C_CONNECTION:case USB_PORT_FEAT_C_OVER_CURRENT:case 
USB_PORT_FEAT_C_RESET:case USB_PORT_FEAT_C_PORT_LINK_STATE:case 
USB_PORT_FEAT_C_PORT_CONFIG_ERROR:case USB_PORT_FEAT_C_BH_PORT_RESET:


break;default:
IlllI(
"\x53\x65\x74\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x20\x25\x64\x29" "\n"
,lIIlI,IlIllII);IlIlI=-EPIPE;break;}return IlIlI;}static int lIIllIllI(struct 
lIIIII*Illll,int lIIlI,int IlIllII){int IlIlI=(0x9e6+2513-0x13b7);switch(IlIllII
){case USB_PORT_FEAT_POWER:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x50\x4f\x57\x45\x52\x29" "\n"
,lIIlI);

IlllIlI(Illll,lIIlI,IIIIlIll,(0x14ec+3854-0x23fa));break;case 
USB_PORT_FEAT_C_CONNECTION:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x43\x5f\x43\x4f\x4e\x4e\x45\x43\x54\x49\x4f\x4e\x29" "\n"
,lIIlI);IlllIlI(Illll,lIIlI,llIIlIlI,(0x12a6+1892-0x1a0a));break;case 
USB_PORT_FEAT_C_OVER_CURRENT:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x43\x5f\x4f\x56\x45\x52\x5f\x43\x55\x52\x52\x45\x4e\x54\x29" "\n"
,lIIlI);
break;case USB_PORT_FEAT_C_RESET:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x43\x5f\x52\x45\x53\x45\x54\x29" "\n"
,lIIlI);IlllIlI(Illll,lIIlI,lIIllllI,(0x1043+269-0x1150));break;case 
USB_PORT_FEAT_C_PORT_LINK_STATE:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x43\x5f\x50\x4f\x52\x54\x5f\x4c\x49\x4e\x4b\x5f\x53\x54\x41\x54\x45\x29" "\n"
,lIIlI);IlllIlI(Illll,lIIlI,IllIIlllI,(0x334+2674-0xda6));break;case 
USB_PORT_FEAT_C_PORT_CONFIG_ERROR:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x43\x5f\x50\x4f\x52\x54\x5f\x43\x4f\x4e\x46\x49\x47\x5f\x45\x52\x52\x4f\x52\x29" "\n"
,lIIlI);
break;case USB_PORT_FEAT_C_BH_PORT_RESET:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x43\x5f\x42\x48\x5f\x50\x4f\x52\x54\x5f\x52\x45\x53\x45\x54\x29" "\n"
,lIIlI);IlllIlI(Illll,lIIlI,IlIIllIll,(0x7b1+6794-0x223b));break;case 
USB_PORT_FEAT_FORCE_LINKPM_ACCEPT:IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x3a\x20\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x55\x53\x42\x5f\x50\x4f\x52\x54\x5f\x46\x45\x41\x54\x5f\x46\x4f\x52\x43\x45\x5f\x4c\x49\x4e\x4b\x50\x4d\x5f\x41\x43\x43\x45\x50\x54\x29" "\n"
,lIIlI);
break;case USB_PORT_FEAT_CONNECTION:case USB_PORT_FEAT_OVER_CURRENT:case 
USB_PORT_FEAT_RESET:case USB_PORT_FEAT_LINK_STATE:case USB_PORT_FEAT_U1_TIMEOUT:
case USB_PORT_FEAT_U2_TIMEOUT:case USB_PORT_FEAT_REMOTE_WAKE_MASK:case 
USB_PORT_FEAT_BH_PORT_RESET:


break;default:IlllI(
"\x43\x6c\x65\x61\x72\x50\x6f\x72\x74\x46\x65\x61\x74\x75\x72\x65\x28\x25\x64\x2c\x20\x25\x64\x29" "\n"
,lIIlI,IlIllII);IlIlI=-EPIPE;break;}return IlIlI;}
#endif 
static int IIIlIIIIl(struct usb_hcd*lllIl,char*IllIl){int IlIlI=
(0x62c+7377-0x22fd);struct lIIIII*Illll=IlIlIll(lllIl);u32*IIllllIll=(u32*)IllIl
;unsigned long flags;IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x73\x74\x61\x74\x75\x73\x5f\x64\x61\x74\x61\x5b\x25\x73\x5d\x2b\x2b" "\n"
,lIllllI(lllIl));spin_lock_irqsave(&Illll->lock,flags);do
{int i;int IllIllIll=(0x16ca+2232-0x1f82);if(!test_bit(HCD_FLAG_HW_ACCESSIBLE,&
lllIl->flags)){break;}for(i=(0x1604+137-0x168d);i<IIIlIII;i++){if(Illll->lIlIIlI
[i]&llIIIIIll){IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x73\x74\x61\x74\x75\x73\x5f\x64\x61\x74\x61\x3a\x20\x70\x6f\x72\x74\x20\x25\x64\x20\x68\x61\x73\x20\x63\x68\x61\x6e\x67\x65\x64\x2e\x20\x77\x50\x6f\x72\x74\x53\x74\x61\x74\x75\x73\x3d\x30\x78\x25\x30\x34\x58\x20\x77\x50\x6f\x72\x74\x43\x68\x61\x6e\x67\x65\x3d\x30\x78\x25\x30\x34\x58" "\n"
,i,Illll->IIIIIll[i],Illll->lIlIIlI[i]);if(IllIllIll==(0x33a+2956-0xec6)){*
IIllllIll=(0xa7c+3521-0x183d);}IllIllIll=(0x834+988-0xc0f);
*IIllllIll|=(0x162a+4020-0x25dd)<<(i+(0x679+6830-0x2126));}}if(IllIllIll){IlIlI=
lIIIIIlI;if(Illll->IlIlIIlIl){usb_hcd_resume_root_hub(lllIl);}}}while(
(0x2df+1761-0x9c0));spin_unlock_irqrestore(&Illll->lock,flags);IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x68\x75\x62\x5f\x73\x74\x61\x74\x75\x73\x5f\x64\x61\x74\x61\x2d\x2d\x20\x72\x65\x73\x75\x6c\x74\x20\x3d\x20\x25\x64\x20\x6d\x61\x73\x6b\x20\x3d\x20\x30\x78\x25\x30\x38\x58" "\n"
,IlIlI,(u32)*IIllllIll);return IlIlI;}static int llIIlIlll(struct usb_hcd*lllIl)
{
struct lIIIII*Illll=IlIlIll(lllIl);Illll->IlIlIIlIl=(0x3a6+6376-0x1c8d);IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x62\x75\x73\x5f\x73\x75\x73\x70\x65\x6e\x64\x5b\x25\x73\x5d" "\n"
,lIllllI(lllIl));return(0x1054+5400-0x256c);}static int IIIllIIll(struct usb_hcd
*lllIl){
struct lIIIII*Illll=IlIlIll(lllIl);Illll->IlIlIIlIl=(0xb43+1394-0x10b5);IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x62\x75\x73\x5f\x72\x65\x73\x75\x6d\x65\x5b\x25\x73\x5d" "\n"
,lIllllI(lllIl));return(0xe34+3264-0x1af4);}
#if KERNEL_GT_EQ((0x2677+8-0x267d),(0x1bc4+28-0x1bda),(0x13e2+905-0x1744)) || \
RHEL_RELEASE_GT_EQ((0xd59+5736-0x23bb),(0xf19+5212-0x2372)) 
static int lllIlIIII(struct usb_hcd*lllIl,struct usb_device*IIIlI,struct 
usb_host_endpoint**IllIIllIl,unsigned int llIIIllII,unsigned int lIlllIlll,gfp_t
 llllI){IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x61\x6c\x6c\x6f\x63\x5f\x73\x74\x72\x65\x61\x6d\x73\x5b\x25\x73\x5d" "\n"
,lIllllI(lllIl));
return(0x1213+5265-0x26a4);}static int llllIlIII(struct usb_hcd*lllIl,struct 
usb_device*IIIlI,struct usb_host_endpoint**IllIIllIl,unsigned int llIIIllII,
gfp_t llllI){IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x66\x72\x65\x65\x5f\x73\x74\x72\x65\x61\x6d\x73\x5b\x25\x73\x5d" "\n"
,lIllllI(lllIl));
return(0xcb1+935-0x1058);}
#endif 


int llIlIllll(void){int IlIlI=(0x31d+4294-0x13e3);int IIIIIIlII=
(0xf4b+2301-0x1848);int lIIlIIIIl=(0x817+4298-0x18e1);IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x69\x6e\x69\x74\x5f\x6d\x6f\x64\x75\x6c\x65\x3a\x20\x2b\x2b" "\n"
);do
{struct sysinfo IlIIlIl;INIT_LIST_HEAD(&llIlllI);spin_lock_init(&IIlIII);
si_meminfo(&IlIIlIl);IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x69\x6e\x69\x74\x5f\x6d\x6f\x64\x75\x6c\x65\x3a\x20\x74\x6f\x74\x61\x6c\x72\x61\x6d\x3d\x25\x6c\x75\x20\x62\x79\x74\x65\x73\x20\x74\x6f\x74\x61\x6c\x68\x69\x67\x68\x3d\x25\x6c\x75\x20\x62\x79\x74\x65\x73" "\n"
,IlIIlIl.totalram*IlIIlIl.mem_unit,IlIIlIl.totalhigh*IlIIlIl.mem_unit);
#if defined(CONFIG_X86_32) && !defined(_USBD_VHCI_NO_DMA_)
























IlllIIll=(IlIIlIl.totalhigh>(0x216+1081-0x64f));
#endif
IlIlI=platform_driver_register(&lIllllIIl);if(IlIlI!=(0x8a3+1424-0xe33)){IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x69\x6e\x69\x74\x5f\x6d\x6f\x64\x75\x6c\x65\x3a\x20\x70\x6c\x61\x74\x66\x6f\x72\x6d\x5f\x64\x72\x69\x76\x65\x72\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x20\x66\x61\x69\x6c\x65\x64\x2e\x20\x45\x72\x72\x6f\x72\x20\x6e\x75\x6d\x62\x65\x72\x20\x25\x64" "\n"
,IlIlI);break;}IIIIIIlII=(0x1564+334-0x16b1);IlIlI=platform_device_register(&
llIllIlI);if(IlIlI!=(0x1474+2875-0x1faf)){IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x69\x6e\x69\x74\x5f\x6d\x6f\x64\x75\x6c\x65\x3a\x20\x70\x6c\x61\x74\x66\x6f\x72\x6d\x5f\x64\x65\x76\x69\x63\x65\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x20\x66\x61\x69\x6c\x65\x64\x2e\x20\x45\x72\x72\x6f\x72\x20\x6e\x75\x6d\x62\x65\x72\x20\x25\x64" "\n"
,IlIlI);break;}lIIlIIIIl=(0x1359+3040-0x1f38);IlllIllI=IIllIIIll();if(IlllIllI==
NULL){IlIlI=-ENOMEM;IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x69\x6e\x69\x74\x5f\x6d\x6f\x64\x75\x6c\x65\x3a\x20\x61\x6c\x6c\x6f\x63\x20\x6d\x69\x6e\x6f\x72\x20\x66\x61\x69\x6c\x65\x64\x2e\x20\x45\x72\x72\x6f\x72\x20\x6e\x75\x6d\x62\x65\x72\x20\x25\x64" "\n"
,IlIlI);break;}}while((0x391+4291-0x1454));if(IlIlI!=(0x288+1293-0x795)){if(
IlllIllI){llIIlIIIl(IlllIllI);IlllIllI=NULL;}if(lIIlIIIIl){
platform_device_unregister(&llIllIlI);}if(IIIIIIlII){platform_driver_unregister(
&lIllllIIl);}}IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x69\x6e\x69\x74\x5f\x6d\x6f\x64\x75\x6c\x65\x3a\x20\x2d\x2d\x20\x72\x65\x73\x75\x6c\x74\x20\x3d\x20\x25\x64" "\n"
,IlIlI);return IlIlI;}void IIllllll(void){IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x64\x65\x69\x6e\x69\x74\x5f\x6d\x6f\x64\x75\x6c\x65\x3a\x20\x2b\x2b" "\n"
);if(IlllIllI){llIIlIIIl(IlllIllI);IlllIllI=NULL;}spin_lock(&IIlIII);while(!
list_empty(&llIlllI)){struct lIlIIl*lIllI=(struct lIlIIl*)llIlllI.next;IlllllII(
lIllI);spin_unlock(&IIlIII);IlIIllII(lIllI);IlIllIIl(lIllI);spin_lock(&IIlIII);}
spin_unlock(&IIlIII);platform_device_unregister(&llIllIlI);
platform_driver_unregister(&lIllllIIl);IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x64\x65\x69\x6e\x69\x74\x5f\x6d\x6f\x64\x75\x6c\x65\x3a\x20\x2d\x2d" "\n"
);}struct lIlIIl*lIlIIlllI(u16 vid,u16 IIllIll,u16 Illllll,int speed){struct 
lIlIIl*lIllI=NULL;do
{struct usb_hcd*parent;
#if KERNEL_GT_EQ((0x330+1657-0x9a7),(0x2ab+833-0x5e6),(0x787+7224-0x2398)) || \
RHEL_RELEASE_GT_EQ((0x1875+372-0x19e3),(0x6b1+8000-0x25ee)) 
parent=(speed==USB_SPEED_SUPER)?IllIlII:IllIllI;
#else
parent=IllIllI;
#endif
if(parent==NULL){IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x63\x72\x65\x61\x74\x65\x3a\x20\x76\x68\x63\x64\x20\x6e\x6f\x74\x20\x69\x6e\x69\x74\x69\x61\x6c\x69\x7a\x65\x64\x2e" "\n"
);break;}lIllI=IlllIIl(sizeof(*lIllI),GFP_KERNEL);if(!lIllI){IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x63\x72\x65\x61\x74\x65\x3a\x20\x6b\x6d\x61\x6c\x6c\x6f\x63\x20\x66\x61\x69\x6c\x65\x64\x2e" "\n"
);break;}if(llllIIlIl(lIllI)<(0x1490+216-0x1568)){IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x63\x72\x65\x61\x74\x65\x3a\x20\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x61\x6c\x6c\x6f\x63\x5f\x6d\x69\x6e\x6f\x72\x20\x66\x61\x69\x6c\x65\x64\x2e" "\n"
);break;}
#ifdef _USBD_DEBUG_MEMORY_
atomic_inc(&IIIlIllll);
#endif
init_waitqueue_head(&lIllI->lIIllI);spin_lock_init(&lIllI->IIllII);
INIT_LIST_HEAD(&lIllI->IlIIIII);INIT_LIST_HEAD(&lIllI->lllIlll);INIT_LIST_HEAD(&
lIllI->Illlllll);kref_init(&lIllI->IllIll);lIllI->vid=vid;lIllI->IIllIll=IIllIll
;lIllI->Illllll=Illllll;lIllI->speed=speed;lIllI->parent=parent;lIllI->lIIlI=-
(0x1aa+8588-0x2335);spin_lock(&IIlIII);list_add(&lIllI->IIIIll,&llIlllI);
spin_unlock(&IIlIII);return lIllI;}while((0xc85+6062-0x2433));if(lIllI){
IIlIllIlI(lIllI);lIlIll(lIllI);}return NULL;}void IlIIllII(struct lIlIIl*lIllI){
struct list_head*lIllIIIl;IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x72\x65\x6d\x6f\x76\x65\x2b\x2b" "\n"
);
spin_lock(&IIlIII);list_for_each(lIllIIIl,&llIlllI){if(lIllIIIl==&lIllI->IIIIll)
{list_del_init(&lIllI->IIIIll);break;}}spin_unlock(&IIlIII);


if(lIllIIIl==&lIllI->IIIIll){
#ifdef _USBD_DEBUG_MEMORY_
atomic_inc(&lIIIIlll);
#endif


lIlIIlIIl(lIllI);IlIllIIl(lIllI);}IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x72\x65\x6d\x6f\x76\x65\x2d\x2d" "\n"
);}void IIIIIlIlI(void){struct lIlIIl*lIllI;IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x72\x65\x6d\x6f\x76\x65\x5f\x61\x6c\x6c\x2b\x2b" "\n"
);spin_lock(&IIlIII);while(!list_empty(&llIlllI)){lIllI=list_entry(llIlllI.next,
struct lIlIIl,IIIIll);list_del_init(&lIllI->IIIIll);spin_unlock(&IIlIII);
#ifdef _USBD_DEBUG_MEMORY_
atomic_inc(&lIIIIlll);
#endif
lIlIIlIIl(lIllI);IlIllIIl(lIllI);spin_lock(&IIlIII);}spin_unlock(&IIlIII);IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x72\x65\x6d\x6f\x76\x65\x5f\x61\x6c\x6c\x2d\x2d" "\n"
);}int llIlIlIII(struct lIlIIl*lIllI){int IlIlI;unsigned long flags;int lIIlI;
struct lIIIII*Illll;struct lIIIII*llIlIIlI;IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x70\x6c\x75\x67\x3a\x20\x2b\x2b" "\n"
);IlIlI=IllIIIIll(lIllI);if(IlIlI<(0x1162+187-0x121d)){IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x70\x6c\x75\x67\x3a\x20\x2d\x2d\x20\x72\x65\x73\x75\x6c\x74\x3d\x25\x64" "\n"
,IlIlI);return IlIlI;}Illll=IlIlIll(lIllI->parent);llIlIIlI=Illll->llllllll?
IlIlIll(Illll->llllllll):NULL;spin_lock_irqsave(&Illll->lock,flags);if(llIlIIlI)
{spin_lock(&llIlIIlI->lock);}IlIlI=-ENOENT;for(lIIlI=(0x995+3040-0x1575);lIIlI<
IIIlIII;lIIlI++){if((Illll->lllIllI[lIIlI]==NULL)&&((llIlIIlI==NULL)||(llIlIIlI
->lllIllI[lIIlI]==NULL))){IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x70\x6c\x75\x67\x3a\x20\x66\x6f\x75\x6e\x64\x20\x66\x72\x65\x65\x20\x70\x6f\x72\x74\x20\x25\x64" "\n"
,lIIlI);IlllllII(lIllI);lIllI->lIIlI=lIIlI;lIllI->IIlIllI=-(0x847+7223-0x247d);
Illll->lllIllI[lIIlI]=lIllI;
#if KERNEL_GT_EQ((0x1fa6+282-0x20be),(0x195c+3040-0x2536),(0x14ec+3046-0x20ab)) \
|| RHEL_RELEASE_GT_EQ((0x81+6925-0x1b88),(0xad8+176-0xb85)) 
if(lIllI->parent->speed==HCD_USB3){IlllIlI(Illll,lIIlI,IIIlIlII,
(0x32+7954-0x1f44));}else
#endif
{IlIIIlI(Illll,lIIlI,IIIlIlII,(0x208a+1352-0x25d2));}IlIlI=(0x152b+2404-0x1e8f);
break;}}if(llIlIIlI){spin_unlock(&llIlIIlI->lock);}spin_unlock_irqrestore(&Illll
->lock,flags);if(IlIlI<(0x1898+2444-0x2224)){
IlIIIIII(lIllI);}else{
usb_hcd_poll_rh_status(lIllI->parent);}IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x70\x6c\x75\x67\x3a\x20\x2d\x2d\x20\x72\x65\x73\x75\x6c\x74\x3d\x25\x64" "\n"
,IlIlI);return IlIlI;}void lIlIIlIIl(struct lIlIIl*lIllI){unsigned long flags;
struct lIIIII*Illll=IlIlIll(lIllI->parent);IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x75\x6e\x70\x6c\x75\x67\x3a\x20\x2b\x2b" "\n"
);
IlIIIIII(lIllI);spin_lock_irqsave(&Illll->lock,flags);if(lIllI->lIIlI!=-
(0x1112+3695-0x1f80)){IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x75\x6e\x70\x6c\x75\x67\x3a\x20\x75\x6e\x70\x6c\x75\x67\x67\x69\x6e\x67\x20\x76\x69\x72\x74\x75\x61\x6c\x20\x64\x65\x76\x69\x63\x65\x20\x61\x74\x20\x70\x6f\x72\x74\x20\x25\x64" "\n"
,lIllI->lIIlI);

Illll->lllIllI[lIllI->lIIlI]=NULL;
#if KERNEL_GT_EQ((0xd60+1444-0x1302),(0x1e6d+1315-0x238a),(0xdcb+2191-0x1633)) \
|| RHEL_RELEASE_GT_EQ((0xe34+3213-0x1abb),(0x1a2b+353-0x1b89)) 
if(lIllI->parent->speed==HCD_USB3){IlllIlI(Illll,lIllI->lIIlI,IlIIIlll,
(0x1f5a+1280-0x245a));}else
#endif
{IlIIIlI(Illll,lIllI->lIIlI,IlIIIlll,(0x9f0+1055-0xe0f));}lIllI->lIIlI=-
(0x485+5517-0x1a11);spin_unlock_irqrestore(&Illll->lock,flags);
usb_hcd_poll_rh_status(lIllI->parent);lIIIlIlIl(lIllI,-ENODEV);IlIllIIl(lIllI);}
else{spin_unlock_irqrestore(&Illll->lock,flags);}IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x75\x6e\x70\x6c\x75\x67\x3a\x20\x2d\x2d" "\n"
);}struct lIlIIl*IIlIIIIIl(int llllIIIII){struct lIlIIl*lIllI;IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x66\x69\x6e\x64\x31\x3a\x20\x2b\x2b" "\n"
);spin_lock(&IIlIII);list_for_each_entry(lIllI,&llIlllI,IIIIll){if(IIIIllII(
lIllI->lllll)==llllIIIII){IlllllII(lIllI);spin_unlock(&IIlIII);IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x66\x69\x6e\x64\x31\x3a\x20\x2d\x2d\x20\x66\x6f\x75\x6e\x64\x21" "\n"
);return lIllI;}}spin_unlock(&IIlIII);IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x66\x69\x6e\x64\x31\x3a\x20\x2d\x2d\x20\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64" "\n"
);return NULL;}
struct lIlIIl*IIlIlIllI(struct usb_hcd*lllIl,int IIlIllI){struct lIIIII*Illll=
IlIlIll(lllIl);struct lIlIIl*lIllI=NULL;int lIIlI;IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x66\x69\x6e\x64\x32\x28\x29\x3a\x20\x2b\x2b\x20\x61\x64\x64\x72\x65\x73\x73\x20\x3d\x20\x25\x64" "\n"
,IIlIllI);if(Illll==NULL){return NULL;}if(IIlIllI<(0x1f37+1643-0x25a2)){return 
NULL;}for(lIIlI=(0x1499+4301-0x2566);lIIlI<IIIlIII;lIIlI++){if(Illll->lllIllI[
lIIlI]&&Illll->lllIllI[lIIlI]->IIlIllI==IIlIllI){lIllI=Illll->lllIllI[lIIlI];
IlllllII(lIllI);break;}}IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x66\x69\x6e\x64\x32\x3a\x20\x2d\x2d\x20\x25\x73" "\n"
,lIllI?"\x66\x6f\x75\x6e\x64":"\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64");return 
lIllI;}
struct lIlIIl*llllIIlII(struct usb_hcd*lllIl,int lIIlI){struct lIIIII*Illll=
IlIlIll(lllIl);struct lIlIIl*lIllI=NULL;IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x66\x69\x6e\x64\x33\x28\x29\x3a\x20\x2b\x2b\x20\x70\x6f\x72\x74\x20\x3d\x20\x25\x64" "\n"
,lIIlI);if(Illll==NULL){return NULL;}if(lIIlI<=(0x2274+426-0x241e)||lIIlI>
IIIlIII){return NULL;}lIIlI--;
if(Illll->lllIllI[lIIlI]){lIllI=Illll->lllIllI[lIIlI];IlllllII(lIllI);}IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x66\x69\x6e\x64\x33\x3a\x20\x2d\x2d\x20\x25\x73" "\n"
,lIllI?"\x66\x6f\x75\x6e\x64":"\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64");return 
lIllI;}void llIlIlIll(struct lIlIIl*lIllI){lIIll IIlIl;struct lllIIl*IIlII;
unsigned long flags;IIlIl=IIIllII(sizeof(IIIIIllll),GFP_ATOMIC);if(!IIlIl){IlllI
(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x73\x65\x6e\x64\x5f\x72\x65\x73\x65\x74\x5f\x70\x6f\x72\x74\x3a\x20\x6e\x6f\x20\x6d\x65\x6d\x6f\x72\x79" "\n"
);return;}IIlII=lIlIllIII(lIllI,GFP_ATOMIC);if(!IIlII){IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x73\x65\x6e\x64\x5f\x72\x65\x73\x65\x74\x5f\x70\x6f\x72\x74\x3a\x20\x6e\x6f\x20\x6d\x65\x6d\x6f\x72\x79" "\n"
);lIlIll(IIlIl);return;}IIlIl->IlIII.IlIIll=IIlII->IIllI;IIlIl->IlIII.IIllIlI=
(0x16a+1499-0x745);IIlIl->IlIII.IIIII=sizeof(IIIIIllll);IIlIl->IlIII.lIIllII=
IllllllI;IIlIl->IlIII.Status=(0xcc5+241-0xdb6);IIlIl->IlIII.Context=lIllI->lIIlI
;IIlII->IIlIl=IIlIl;spin_lock_irqsave(&lIllI->IIllII,flags);list_add_tail(&IIlII
->llllIl,&lIllI->lllIlll);spin_unlock_irqrestore(&lIllI->IIllII,flags);wake_up(&
lIllI->lIIllI);}struct lllIIl*lIlIllIII(struct lIlIIl*lIllI,gfp_t llllI){struct 
lllIIl*IIlII;IIlII=IlllIIl(sizeof(struct lllIIl),llllI);if(!IIlII){IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x63\x72\x65\x61\x74\x65\x5f\x72\x65\x71\x75\x65\x73\x74\x3a\x20\x6e\x6f\x20\x6d\x65\x6d\x6f\x72\x79" "\n"
);return NULL;}
#ifdef _USBD_DEBUG_MEMORY_
atomic_inc(&IlIIIlIll);
#endif
INIT_LIST_HEAD(&IIlII->llllIl);INIT_LIST_HEAD(&IIlII->llIIlll);INIT_LIST_HEAD(&
IIlII->urb.IIIIll);IIlII->IIllI=llIllIIII();IIlII->lIllI=IlllllII(lIllI);return 
IIlII;}void lIIlllII(struct lllIIl*IIlII){


#ifdef _USBD_DEBUG_MEMORY_
atomic_inc(&llllIlIIl);
#endif
if(IIlII->lIllI){IlIllIIl(IIlII->lIllI);}lIlIll(IIlII);}
int IIIIIlIll(struct lllIIl*IIlII){struct usb_host_endpoint*ep;struct lllIIl*
lIlIIII;if(!list_empty(&IIlII->llIIlll)){struct llllllI*lIlIII=list_entry(IIlII
->llIIlll.next,struct llllllI,IIIIll);
#if KERNEL_LT((0x1ea3+1495-0x2478),(0x83b+5348-0x1d19),(0xb59+2917-0x16a6))
ep=(usb_pipein(lIlIII->lIlll->pipe)?lIlIII->lIlll->dev->ep_in:lIlIII->lIlll->dev
->ep_out)[usb_pipeendpoint(lIlIII->lIlll->pipe)];
#else
ep=lIlIII->lIlll->ep;
#endif

if(ep&&ep->hcpriv==IIlII){ep->hcpriv=NULL;

list_del_init(&IIlII->llllIl);return(0x31+8680-0x2218);}}
list_for_each_entry(lIlIIII,&IIlII->lIllI->IlIIIII,llllIl){if(lIlIIII==IIlII){
list_del_init(&IIlII->llllIl);return(0xfd7+5446-0x251c);}}
list_for_each_entry(lIlIIII,&IIlII->lIllI->Illlllll,llllIl){if(lIlIIII==IIlII){
list_del_init(&IIlII->llllIl);return(0x68f+179-0x741);}}
list_for_each_entry(lIlIIII,&IIlII->lIllI->lllIlll,llllIl){if(lIlIIII==IIlII){
list_del_init(&IIlII->llllIl);return(0xb29+6549-0x24bd);}}return
(0x1fea+176-0x209a);}int lIIIIIIl(struct lllIIl*IIlII){struct llllllI*lIlIII;
list_for_each_entry(lIlIII,&IIlII->llIIlll,IIIIll){
#if KERNEL_LT((0x43b+4018-0x13eb),(0x1442+4295-0x2503),(0xe37+1072-0x124f))
spin_lock(&lIlIII->lIlll->lock);if(lIlIII->lIlll->status!=-EINPROGRESS){
spin_unlock(&lIlIII->lIlll->lock);return(0x903+5731-0x1f65);}spin_unlock(&lIlIII
->lIlll->lock);
#else
if(lIlIII->lIlll->unlinked){return(0x958+4418-0x1a99);}
#endif
}return(0x11cf+991-0x15ae);}void lIIIlIlIl(struct lIlIIl*lIllI,int status){
unsigned long flags;struct list_head lIIIlIlI;struct lllIIl*IIlII;INIT_LIST_HEAD
(&lIIIlIlI);spin_lock_irqsave(&IlIlIll(lIllI->parent)->lock,flags);spin_lock(&
lIllI->IIllII);list_for_each_entry(IIlII,&lIllI->IlIIIII,llllIl){struct llllllI*
IlIIlI;list_for_each_entry(IlIIlI,&IIlII->llIIlll,IIIIll){struct 
usb_host_endpoint*ep;
#if KERNEL_LT((0x9b3+5176-0x1de9),(0x59c+2345-0xebf),(0x23f+6902-0x1d1d))
ep=(usb_pipein(IlIIlI->lIlll->pipe)?IlIIlI->lIlll->dev->ep_in:IlIIlI->lIlll->dev
->ep_out)[usb_pipeendpoint(IlIIlI->lIlll->pipe)];
#else
ep=IlIIlI->lIlll->ep;
#endif
if(ep)ep->hcpriv=NULL;}}list_splice_init(&lIllI->IlIIIII,&lIIIlIlI);
list_splice_init(&lIllI->lllIlll,&lIIIlIlI);list_splice_init(&lIllI->Illlllll,&
lIIIlIlI);spin_unlock(&lIllI->IIllII);spin_unlock_irqrestore(&IlIlIll(lIllI->
parent)->lock,flags);while(!list_empty(&lIIIlIlI)){struct lllIIl*IIlII=
list_entry(lIIIlIlI.next,struct lllIIl,llllIl);list_del_init(&IIlII->llllIl);
IIllIlII(IIlII,status);lIIlllII(IIlII);}}void IIllIlII(struct lllIIl*IIlII,int 
status){struct lIlIIl*lIllI=IIlII->lIllI;
#if KERNEL_GT_EQ((0x122+3774-0xfde),(0x115f+1074-0x158b),(0x280+7963-0x2183))
struct lIIIII*Illll=IlIlIll(lIllI->parent);
#endif
unsigned long flags;int IIIIlIlIl=(0x143b+2864-0x1f6b);IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x67\x69\x76\x65\x62\x61\x63\x6b\x5f\x72\x65\x71\x75\x65\x73\x74\x3a\x20\x72\x65\x71\x75\x65\x73\x74\x20\x30\x78\x25\x70\x20\x73\x74\x61\x74\x75\x73\x3d\x25\x64" "\n"
,IIlII,status);local_irq_save(flags);while(!list_empty(&IIlII->llIIlll)){struct 
llllllI*lIlIII=list_entry(IIlII->llIIlll.next,struct llllllI,IIIIll);if(lIlIII->
lIlll){int IIlIlllI=status;

if(usb_pipetype(lIlIII->lIlll->pipe)==PIPE_BULK||usb_pipetype(lIlIII->lIlll->
pipe)==PIPE_INTERRUPT){






switch(IIIIlIlIl){case(0xfd6+5379-0x24d9):if(lIlIII->lIlll->actual_length<lIlIII
->lIlll->transfer_buffer_length){if((status==(0x4b8+5186-0x18fa))&&(lIlIII->
lIlll->transfer_flags&URB_SHORT_NOT_OK)){IIlIlllI=-EREMOTEIO;}else{IIlIlllI=
status;}IIIIlIlIl=(0x17f+9318-0x25e4);}else if(lIlIII->IIIIll.next==&IIlII->
llIIlll){IIlIlllI=status;IIIIlIlIl=(0x319+9202-0x270a);}else{IIlIlllI=
(0x2a3+4963-0x1606);}break;case(0x1054+3409-0x1da4):IIlIlllI=-ECONNRESET;break;}
}IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x67\x69\x76\x65\x62\x61\x63\x6b\x5f\x72\x65\x71\x75\x65\x73\x74\x3a\x20\x67\x69\x76\x65\x62\x61\x63\x6b\x20\x75\x72\x62\x20\x30\x78\x25\x70\x20\x77\x69\x74\x68\x20\x73\x74\x61\x74\x75\x73\x20\x25\x64" "\n"
,lIlIII->lIlll,IIlIlllI);
#if KERNEL_LT((0xc7c+3270-0x1940),(0x2af+5344-0x1789),(0x334+3938-0x127e))


spin_lock(&lIlIII->lIlll->lock);if(lIlIII->lIlll->status==-EINPROGRESS){lIlIII->
lIlll->status=IIlIlllI;}spin_unlock(&lIlIII->lIlll->lock);
#else


spin_lock(&Illll->lock);usb_hcd_unlink_urb_from_ep(lIllI->parent,lIlIII->lIlll);
spin_unlock(&Illll->lock);
#endif



lIlIII->lIlll->hcpriv=NULL;
#if KERNEL_LT((0x4a8+1748-0xb7a),(0x613+5999-0x1d7c),(0x1d44+1399-0x22a8))
usb_hcd_giveback_urb(lIllI->parent,lIlIII->lIlll,NULL);
#elif KERNEL_LT((0x1640+1628-0x1c9a),(0xeb7+5399-0x23c8),(0x1095+1842-0x17af))
usb_hcd_giveback_urb(lIllI->parent,lIlIII->lIlll);
#else
usb_hcd_giveback_urb(lIllI->parent,lIlIII->lIlll,IIlIlllI);
#endif
}list_del_init(&lIlIII->IIIIll);if(lIlIII!=&IIlII->urb){lIlIll(lIlIII);}}
local_irq_restore(flags);if(IIlII->IIlIl){if(IIlII->IIlIl->IlIII.lIIllII==
IllllllI){IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x67\x69\x76\x65\x62\x61\x63\x6b\x5f\x72\x65\x71\x75\x65\x73\x74\x3a\x20\x72\x65\x73\x65\x74\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x64" "\n"
);lIllI->IIlIIllI=(0x71+2493-0xa2e);wake_up(&lIllI->lIIllI);}IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x67\x69\x76\x65\x62\x61\x63\x6b\x5f\x72\x65\x71\x75\x65\x73\x74\x3a\x20\x66\x72\x65\x65\x69\x6e\x67\x20\x75\x6e\x72\x62" "\n"
);lIlIll(IIlII->IIlIl);IIlII->IIlIl=NULL;}}int lIlIlIlII(struct lIlIIl*lIllI,
struct lllIIl*IIlII,void*llIIl,size_t IlIIIl){int IlIlI=(0xe2f+3237-0x1ad4);if(!
list_empty(&IIlII->llIIlll)){IlIlI=lIlIlIIlI(&IIlII->llIIlll,IIlII->IIllI,llIIl,
IlIIIl);}else if(IIlII->IIlIl){if(IlIIIl<IIlII->IIlIl->IlIII.IIIII){IlIlI=-
EMSGSIZE;}else{memcpy(llIIl,IIlII->IIlIl,IIlII->IIlIl->IlIII.IIIII);if(IIlII->
IIlIl->IlIII.lIIllII==IllllllI){lIllI->IIlIIllI=(0x1e29+2232-0x26e0);}}}else{
IlIlI=-EIO;}IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x70\x61\x63\x6b\x5f\x72\x65\x71\x75\x65\x73\x74\x3a\x20\x72\x65\x73\x75\x6c\x74\x20\x3d\x20\x25\x64" "\n"
,IlIlI);return IlIlI;}int IlIlIllll(struct lIlIIl*lIllI,struct lllIIl*IIlII,
lIIll IIlIl,int*status){int IlIlI;if(!list_empty(&IIlII->llIIlll)){IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x75\x6e\x70\x61\x63\x6b\x5f\x72\x65\x71\x75\x65\x73\x74\x3a\x20\x75\x6e\x70\x61\x63\x6b\x69\x6e\x67\x20\x75\x72\x62" "\n"
);IlIlI=IllIIllll(IIlIl,&IIlII->llIIlll,status);}else{*status=lllIIIll(IIlIl->
IlIII.Status);IlIlI=(0x1168+1208-0x1620);}return IlIlI;}void llIllIIll(struct 
kref*IIIlIll){struct lIlIIl*lIllI=container_of(IIIlIll,struct lIlIIl,IllIll);
IlllI(
"\x75\x73\x62\x64\x5f\x76\x73\x74\x75\x62\x5f\x64\x65\x73\x74\x72\x6f\x79\x28\x70\x76\x73\x74\x75\x62\x3d\x30\x78\x25\x70\x29" "\n"
,lIllI);
#ifdef _USBD_DEBUG_MEMORY_
atomic_inc(&IlllIllIl);
#endif
IIlIllIlI(lIllI);lIlIll(lIllI);}
static inline size_t lIlIIIIII(struct urb*lIlll,void*llIIl){int i;void*lllIll;if
(!lIlll->transfer_buffer){return(0x1883+2475-0x222e);}lllIll=llIIl;for(i=
(0x333+5451-0x187e);i<lIlll->number_of_packets;i++){memcpy(lIlll->
transfer_buffer+lIlll->iso_frame_desc[i].offset,lllIll,lIlll->iso_frame_desc[i].
actual_length);lllIll+=lIlll->iso_frame_desc[i].actual_length;}return(size_t)(
lllIll-llIIl);}
#if defined(CONFIG_X86_32) && !defined(_USBD_VHCI_NO_DMA_)






int llIlIlll(void*llIIl,struct urb*lIlll,int llIlI){
if(llIlI==(0x138c+1486-0x195a)){return(0x730+466-0x902);}if(IlllIIll&&((lIlll->
transfer_buffer==NULL)||(lIlll->transfer_flags&URB_NO_TRANSFER_DMA_MAP))&&(lIlll
->transfer_dma!=(0xf23+2251-0x17ee))&&(lIlll->transfer_dma!=~(dma_addr_t)
(0x1904+2097-0x2135))){IllIlIIII(llIIl,lIlll->transfer_dma,llIlI);}else if(lIlll
->transfer_buffer){memcpy(llIIl,lIlll->transfer_buffer,llIlI);}else return-
EINVAL;return llIlI;}





int IIlIllII(struct urb*lIlll,void*llIIl,int llIlI){
if(llIlI==(0x8d9+3092-0x14ed)){return(0x1c72+2701-0x26ff);}if(IlllIIll&&((lIlll
->transfer_buffer==NULL)||(lIlll->transfer_flags&URB_NO_TRANSFER_DMA_MAP))&&(
lIlll->transfer_dma!=(0x5fb+161-0x69c))&&(lIlll->transfer_dma!=~(dma_addr_t)
(0x735+7452-0x2451))){IlllIlllI(lIlll->transfer_dma,llIIl,llIlI);}else if(lIlll
->transfer_buffer){memcpy(lIlll->transfer_buffer,llIIl,llIlI);}else{return-
EINVAL;}return llIlI;}





int IIlIIIlIl(void*llIIl,struct urb*lIlll,int llIlI){
if(llIlI==(0xc1b+1089-0x105c)){return(0x1598+902-0x191e);}
#if KERNEL_LT_EQ((0x224+7178-0x1e2c),(0x35b+1126-0x7bb),(0x97a+2570-0x1362))
if(IlllIIll&&((lIlll->setup_packet==NULL)||(lIlll->transfer_flags&
URB_NO_SETUP_DMA_MAP))&&(lIlll->setup_dma!=(0x1481+1863-0x1bc8))&&(lIlll->
setup_dma!=~(dma_addr_t)(0x1493+2945-0x2014))){IllIlIIII(llIIl,lIlll->setup_dma,
llIlI);}else
#endif
if(lIlll->setup_packet){memcpy(llIIl,lIlll->setup_packet,llIlI);}else{return-
EINVAL;}return llIlI;}





int IIlIIlIIl(struct urb*lIlll,void*llIIl,int llIlI){
if(llIlI==(0x1a6d+1339-0x1fa8)){return(0x77+272-0x187);}
#if KERNEL_LT_EQ((0x963+5173-0x1d96),(0xfd1+353-0x112c),(0x52+8288-0x2090))
if(IlllIIll&&((lIlll->setup_packet==NULL)||(lIlll->transfer_flags&
URB_NO_SETUP_DMA_MAP))&&(lIlll->setup_dma!=(0xcb9+3973-0x1c3e))&&(lIlll->
setup_dma!=~(dma_addr_t)(0xe2b+3514-0x1be5))){IlllIlllI(lIlll->setup_dma,llIIl,
llIlI);}else
#endif
if(lIlll->setup_packet){memcpy(lIlll->setup_packet,llIIl,llIlI);}else{return-
EINVAL;}return llIlI;}


static inline size_t IlIllIIII(void*llIIl,struct urb*lIlll){if(IlllIIll&&((lIlll
->transfer_buffer==NULL)||(lIlll->transfer_flags&URB_NO_TRANSFER_DMA_MAP))&&(
lIlll->transfer_dma!=(0x211+6910-0x1d0f))&&(lIlll->transfer_dma!=~(dma_addr_t)
(0xa82+1211-0xf3d))){int i;void*llIIlIl=llIIl;dma_addr_t lllIll;void*llllll;
unsigned long flags;unsigned long llllIlI,IIlIIl;unsigned long llIIIIl,lllIIIl,
IIllIIl,IIIIlIl;IIllIIl=(0x1c7b+228-0x1d5f);llllll=NULL;local_irq_save(flags);
for(i=(0xc3d+3524-0x1a01);i<lIlll->number_of_packets;i++){IIlIIl=lIlll->
iso_frame_desc[i].length;lllIll=lIlll->transfer_dma+lIlll->iso_frame_desc[i].
offset;while(IIlIIl){IIIIlIl=lllIll>>PAGE_SHIFT;if(IIIIlIl!=IIllIIl){if(IIllIIl)
{
#if KERNEL_GT_EQ((0xd82+1238-0x1256),(0x1c45+561-0x1e70),(0xfe0+5225-0x2424))
kunmap_atomic(llllll);
#else
kunmap_atomic(llllll,KM_IRQ0);
#endif
}IIllIIl=IIIIlIl;
#if KERNEL_GT_EQ((0x44a+383-0x5c7),(0x21a3+819-0x24d0),(0x1966+1495-0x1f18))
llllll=kmap_atomic(pfn_to_page(IIIIlIl));
#else
llllll=kmap_atomic(pfn_to_page(IIIIlIl),KM_IRQ0);
#endif
}llIIIIl=lllIll&(PAGE_SIZE-(0x22aa+523-0x24b4));lllIIIl=PAGE_SIZE-llIIIIl;
llllIlI=(lllIIIl<IIlIIl)?lllIIIl:IIlIIl;memcpy(llIIlIl,llllll+llIIIIl,llllIlI);
lllIll+=llllIlI;llIIlIl+=llllIlI;IIlIIl-=llllIlI;}}if(IIllIIl){
#if KERNEL_GT_EQ((0x1320+4521-0x24c7),(0x60+5680-0x168a),(0x5b6+456-0x759))
kunmap_atomic(llllll);
#else
kunmap_atomic(llllll,KM_IRQ0);
#endif
}local_irq_restore(flags);IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x70\x61\x63\x6b\x5f\x69\x73\x6f\x63\x68\x5f\x62\x75\x66\x3a\x20\x70\x61\x63\x6b\x65\x64\x3d\x25\x6c\x75" "\n"
,(unsigned long)(llIIlIl-llIIl));return(size_t)(llIIlIl-llIIl);}else if(lIlll->
transfer_buffer){return IlIIIllI(lIlll->iso_frame_desc,lIlll->number_of_packets,
llIIl,lIlll->transfer_buffer,(0xb91+3787-0x1a5c));}IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x70\x61\x63\x6b\x5f\x69\x73\x6f\x63\x68\x5f\x62\x75\x66\x3a\x20\x6e\x6f\x20\x62\x75\x66\x66\x65\x72" "\n"
);return(0x17d2+2200-0x206a);}static inline size_t IllIIlIlI(struct urb*lIlll,
void*llIIl){if(IlllIIll&&((lIlll->transfer_buffer==NULL)||(lIlll->transfer_flags
&URB_NO_TRANSFER_DMA_MAP))&&(lIlll->transfer_dma!=(0xabb+6308-0x235f))&&(lIlll->
transfer_dma!=~(dma_addr_t)(0xfec+3524-0x1db0))){int i;void*lllIll=llIIl;
dma_addr_t llIIlIl;void*llllll;unsigned long flags;unsigned long llllIlI,IIlIIl;
unsigned long llIIIIl,lllIIIl,IIllIIl,IIIIlIl;IIllIIl=(0x14d1+4398-0x25ff);
llllll=NULL;local_irq_save(flags);for(i=(0x50b+3497-0x12b4);i<lIlll->
number_of_packets;i++){IIlIIl=lIlll->iso_frame_desc[i].actual_length;llIIlIl=
lIlll->transfer_dma+lIlll->iso_frame_desc[i].offset;while(IIlIIl){IIIIlIl=
llIIlIl>>PAGE_SHIFT;if(IIIIlIl!=IIllIIl){if(IIllIIl){
#if KERNEL_GT_EQ((0x9e5+4833-0x1cc4),(0x9b4+4552-0x1b76),(0x1d59+1447-0x22db))
kunmap_atomic(llllll);
#else
kunmap_atomic(llllll,KM_IRQ0);
#endif
}IIllIIl=IIIIlIl;
#if KERNEL_GT_EQ((0x17c+8483-0x229d),(0x10e3+293-0x1202),(0x12d9+4891-0x25cf))
llllll=kmap_atomic(pfn_to_page(IIIIlIl));
#else
llllll=kmap_atomic(pfn_to_page(IIIIlIl),KM_IRQ0);
#endif
}llIIIIl=llIIlIl&(PAGE_SIZE-(0x40a+7996-0x2345));lllIIIl=PAGE_SIZE-llIIIIl;
llllIlI=(lllIIIl<IIlIIl)?lllIIIl:IIlIIl;memcpy(llllll+llIIIIl,lllIll,llllIlI);
lllIll+=llllIlI;llIIlIl+=llllIlI;IIlIIl-=llllIlI;}}if(IIllIIl){
#if KERNEL_GT_EQ((0x9c6+5784-0x205c),(0x62a+4002-0x15c6),(0x4c2+6762-0x1f07))
kunmap_atomic(llllll);
#else
kunmap_atomic(llllll,KM_IRQ0);
#endif
}local_irq_restore(flags);IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x75\x6e\x70\x61\x63\x6b\x5f\x69\x73\x6f\x63\x68\x5f\x62\x75\x66\x3a\x20\x70\x61\x63\x6b\x65\x64\x3d\x25\x6c\x75" "\n"
,(unsigned long)(lllIll-llIIl));return(size_t)(lllIll-llIIl);}else if(lIlll->
transfer_buffer){return lIlIIIIII(lIlll,llIIl);}IlllI(
"\x75\x73\x62\x64\x5f\x76\x68\x63\x69\x5f\x75\x6e\x70\x61\x63\x6b\x5f\x69\x73\x6f\x63\x68\x5f\x62\x75\x66\x3a\x20\x6e\x6f\x20\x62\x75\x66\x66\x65\x72" "\n"
);return(0x1d70+1247-0x224f);}
#else 

static inline int IIlIllII(struct urb*lIlll,void*llIIl,int llIlI){if(!llIlI){
return(0x425+1674-0xaaf);}if(!lIlll->transfer_buffer){return-EINVAL;}memcpy(
lIlll->transfer_buffer,llIIl,llIlI);return llIlI;}static inline int llIlIlll(
void*llIIl,struct urb*lIlll,int llIlI){if(!llIlI){return(0x4a1+8605-0x263e);}if(
!lIlll->transfer_buffer){return-EINVAL;}memcpy(llIIl,lIlll->transfer_buffer,
llIlI);return llIlI;}static inline int IIlIIlIIl(struct urb*lIlll,void*llIIl,int
 llIlI){if(!llIlI){return(0x2a0+3318-0xf96);}if(!lIlll->setup_packet){return-
EINVAL;}memcpy(lIlll->setup_packet,llIIl,llIlI);return llIlI;}static inline int 
IIlIIIlIl(void*llIIl,struct urb*lIlll,int llIlI){if(!llIlI){return
(0x22d0+881-0x2641);}if(!lIlll->setup_packet){return-EINVAL;}memcpy(llIIl,lIlll
->setup_packet,llIlI);return llIlI;}static inline size_t IlIllIIII(void*llIIl,
struct urb*lIlll){if(!lIlll->transfer_buffer){return(0x57b+3760-0x142b);}return 
IlIIIllI(lIlll->iso_frame_desc,lIlll->number_of_packets,llIIl,lIlll->
transfer_buffer,(0x1490+3008-0x2050));}

static inline size_t IllIIlIlI(struct urb*lIlll,void*llIIl){return lIlIIIIII(
lIlll,llIIl);}
#endif 




static inline int IllIlIIIll(struct list_head*lllIlIl,llIIII IIllI,void*llIIl,
size_t IlIIIl){int IlIlI=(0xd82+2862-0x18b0);int lIIlIll=sizeof(IllllIlII);lIIll
 IIlIl=llIIl;struct llllllI*IlIIlI;IIlIl->IlIII.IlIIll=IIllI;IIlIl->IlIII.
IIllIlI=(0x10e8+5639-0x26ef);IIlIl->IlIII.IIIII=lIIlIll;IIlIl->IlIII.lIIllII=
IIllIIIl;IIlIl->IlIII.Status=(0x20d+188-0x2c9);IIlIl->IlIII.Context=
(0x13eb+4611-0x25ee);if(IlIIIl<IIlIl->IlIII.IIIII){return-EMSGSIZE;}IlIIlI=
list_entry(lllIlIl->prev,struct llllllI,IIIIll);IIlIl->IllllI.lllllI=
(0x102+470-0x2d8);IIlIl->IllllI.Endpoint=usb_pipeendpoint(IlIIlI->lIlll->pipe);
IIlIl->IllllI.Flags=usb_pipein(IlIIlI->lIlll->pipe)?IIIllI:(0x1657+1016-0x1a4f);
if(usb_pipein(IlIIlI->lIlll->pipe)&&!(IlIIlI->lIlll->transfer_flags&
URB_SHORT_NOT_OK)){IIlIl->IllllI.Flags|=IIlllll;}


list_for_each_entry(IlIIlI,lllIlIl,IIIIll){if(usb_pipeout(IlIIlI->lIlll->pipe)){
if(IlIIIl>=(IIlIl->IlIII.IIIII+IlIIlI->lIlll->transfer_buffer_length)){if(
llIlIlll((char*)llIIl+IIlIl->IlIII.IIIII,IlIIlI->lIlll,IlIIlI->lIlll->
transfer_buffer_length)<(0x6ff+3198-0x137d)){return-EINVAL;}}IIlIl->IlIII.IIIII
+=IlIIlI->lIlll->transfer_buffer_length;}IIlIl->IllllI.lllllI+=IlIIlI->lIlll->
transfer_buffer_length;}if(IlIIIl<IIlIl->IlIII.IIIII){return-EMSGSIZE;}return 
IlIlI;}static inline int IlIlIllIl(struct urb*lIlll,llIIII IIllI,void*llIIl,
size_t IlIIIl){int IlIlI=(0x1a23+685-0x1cd0);int lIIlIll=sizeof(IIlIIIIlI);lIIll
 IIlIl=llIIl;IIlIl->IlIII.IlIIll=IIllI;IIlIl->IlIII.IIllIlI=(0x822+2295-0x1119);
IIlIl->IlIII.IIIII=lIIlIll;IIlIl->IlIII.lIIllII=lIlllIIl;IIlIl->IlIII.Status=
(0xcec+1071-0x111b);IIlIl->IlIII.Context=(0xf22+1849-0x165b);if(IlIIIl<IIlIl->
IlIII.IIIII){return-EMSGSIZE;}IIlIl->llIIlI.lllllI=lIlll->transfer_buffer_length
;IIlIl->llIIlI.Interval=lIlll->interval;IIlIl->llIIlI.Endpoint=usb_pipeendpoint(
lIlll->pipe);IIlIl->llIIlI.Flags=usb_pipein(lIlll->pipe)?IIIllI:
(0x138+705-0x3f9);IIlIl->llIIlI.Flags|=(lIlll->transfer_flags&URB_SHORT_NOT_OK)?
(0x4a7+7487-0x21e6):IIlllll;if(usb_pipeout(lIlll->pipe)){if(IlIIIl>=(IIlIl->
IlIII.IIIII+lIlll->transfer_buffer_length)){if(llIlIlll((char*)llIIl+IIlIl->
IlIII.IIIII,lIlll,lIlll->transfer_buffer_length)<(0x5d+5060-0x1421)){return-
EINVAL;}}IIlIl->IlIII.IIIII+=lIlll->transfer_buffer_length;}if(IlIIIl<IIlIl->
IlIII.IIIII){return-EMSGSIZE;}return IlIlI;}static inline int llIIllIlI(struct 
urb*lIlll,llIIII IIllI,void*llIIl,size_t IlIIIl){int IlIlI=(0x16c1+3058-0x22b3);
lIIll IIlIl=llIIl;int i;int lIIlIll=sizeof(lIIIllIIl)-sizeof(IIIlIIll)+sizeof(
IIIlIIll)*lIlll->number_of_packets;IIlIl->IlIII.IlIIll=IIllI;IIlIl->IlIII.
IIllIlI=(0x787+6279-0x200e);IIlIl->IlIII.IIIII=lIIlIll;IIlIl->IlIII.lIIllII=
llIIlllI;IIlIl->IlIII.Status=(0x9ca+3652-0x180e);IIlIl->IlIII.Context=
(0x4df+6554-0x1e79);if(IlIIIl<IIlIl->IlIII.IIIII){return-EMSGSIZE;}IIlIl->llIll.
Endpoint=usb_pipeendpoint(lIlll->pipe);IIlIl->llIll.Flags=usb_pipein(lIlll->pipe
)?IIIllI:(0x35c+5561-0x1915);IIlIl->llIll.Flags|=(lIlll->transfer_flags&
URB_SHORT_NOT_OK)?(0x276+5559-0x182d):IIlllll;


























IIlIl->llIll.Flags|=llIIllIll;
IIlIl->llIll.lllllI=lIlll->transfer_buffer_length;IIlIl->llIll.Interval=lIlll->
interval;IIlIl->llIll.IIlIlIIl=(0x57c+531-0x78f);
IIlIl->llIll.llIIIIIl=(0x17a8+2214-0x204e);IIlIl->llIll.IIIIlll=lIlll->
number_of_packets;for(i=(0x81a+5369-0x1d13);i<lIlll->number_of_packets;i++){
IIlIl->llIll.IlIIlII[i].Offset=lIlll->iso_frame_desc[i].offset;IIlIl->llIll.
IlIIlII[i].Length=lIlll->iso_frame_desc[i].length;IIlIl->llIll.IlIIlII[i].Status
=(0x4ca+412-0x666);}if(usb_pipeout(lIlll->pipe)){if(IlIIIl>=(IIlIl->IlIII.IIIII+
lIlll->transfer_buffer_length)){IIlIl->IlIII.IIIII+=IlIllIIII((char*)llIIl+IIlIl
->IlIII.IIIII,lIlll);}else{
IIlIl->IlIII.IIIII+=lIlll->transfer_buffer_length;}}if(IlIIIl<IIlIl->IlIII.IIIII
){return-EMSGSIZE;}return IlIlI;}static inline int lIIIIIIlIl(struct urb*lIlll,
llIIII IIllI,struct usb_ctrlrequest*IIlIIlI,void*llIIl,size_t IlIIIl){int IlIlI=
(0xf8+1461-0x6ad);lIIll IIlIl=llIIl;int lIIlIll=sizeof(IIIlIllII);IIlIl->IlIII.
IlIIll=IIllI;IIlIl->IlIII.IIllIlI=(0x725+4645-0x194a);IIlIl->IlIII.IIIII=lIIlIll
;IIlIl->IlIII.lIIllII=IlIIlIII;IIlIl->IlIII.Status=(0x232b+970-0x26f5);IIlIl->
IlIII.Context=(0x18af+1927-0x2036);if(IlIIIl<IIlIl->IlIII.IIIII){return-EMSGSIZE
;}IIlIl->lllIII.Endpoint=usb_pipeendpoint(lIlll->pipe);IIlIl->lllIII.Flags=
usb_pipein(lIlll->pipe)?IIIllI:(0x7a6+3342-0x14b4);if(usb_pipein(lIlll->pipe)){
IIlIl->lllIII.Flags|=(lIlll->transfer_flags&URB_SHORT_NOT_OK)?
(0x19c1+1047-0x1dd8):IIlllll;}IIlIl->lllIII.lllIIll=IIlIIlI->bRequestType;IIlIl
->lllIII.lIIllIIlI=IIlIIlI->bRequest;IIlIl->lllIII.llIllIll=le16_to_cpu(IIlIIlI
->wValue);IIlIl->lllIII.IIlIlllll=le16_to_cpu(IIlIIlI->wIndex);IIlIl->lllIII.
lllllI=lIlll->transfer_buffer_length;if(usb_pipeout(lIlll->pipe)){if(IlIIIl>=(
IIlIl->IlIII.IIIII+lIlll->transfer_buffer_length)){if(llIlIlll((char*)llIIl+
lIIlIll,lIlll,lIlll->transfer_buffer_length)<(0xfe0+4219-0x205b)){return-EINVAL;
}}IIlIl->IlIII.IIIII+=lIlll->transfer_buffer_length;}if(IlIIIl<IIlIl->IlIII.
IIIII){return-EMSGSIZE;}return IlIlI;}static inline int llIlllllI(struct urb*
lIlll,llIIII IIllI,struct usb_ctrlrequest*IIlIIlI,int lIllllll,void*llIIl,size_t
 IlIIIl){int IlIlI=(0x58f+5338-0x1a69);lIIll IIlIl=llIIl;int lIIlIll=sizeof(
llIIIlllI);IIlIl->IlIII.IlIIll=IIllI;IIlIl->IlIII.IIllIlI=(0x5ab+7495-0x22f2);
IIlIl->IlIII.IIIII=lIIlIll;IIlIl->IlIII.lIIllII=lIllllll?llllllIl:lllIlIII;IIlIl
->IlIII.Status=(0x2fa+4598-0x14f0);IIlIl->IlIII.Context=(0x1f48+1951-0x26e7);if(
IlIIIl<IIlIl->IlIII.IIIII){return-EMSGSIZE;}IIlIl->IIlllI.IIIIIIII=le16_to_cpu(
IIlIIlI->wIndex);IIlIl->IIlllI.lllllI=lIlll->transfer_buffer_length;IIlIl->
IIlllI.IlIIlllI=(le16_to_cpu(IIlIIlI->wValue)>>(0x8c6+5418-0x1de8))&
(0xa46+2057-0x1150);IIlIl->IIlllI.IIIlllll=le16_to_cpu(IIlIIlI->wValue)&
(0x1180+2990-0x1c2f);switch(IIlIIlI->bRequestType&USB_TYPE_MASK){case 
USB_TYPE_STANDARD:IIlIl->IIlllI.lllIIll=llllIIIlIl;break;case USB_TYPE_CLASS:
IIlIl->IIlllI.lllIIll=llllIlIll;break;case USB_TYPE_VENDOR:IIlIl->IIlllI.lllIIll
=IIlIIlllI;break;case USB_TYPE_RESERVED:IIlIl->IIlllI.lllIIll=lIllIlllI;break;
default:IIlIl->IIlllI.lllIIll=(0x1387+453-0x154c);}switch(IIlIIlI->bRequestType&
USB_RECIP_MASK){case USB_RECIP_DEVICE:IIlIl->IIlllI.IllIlIll=llIIlIIll;break;
case USB_RECIP_INTERFACE:IIlIl->IIlllI.IllIlIll=IllllIIIl;break;case 
USB_RECIP_ENDPOINT:IIlIl->IIlllI.IllIlIll=IIlllIlII;break;case USB_RECIP_OTHER:
IIlIl->IIlllI.IllIlIll=IlIllIIlI;break;default:IIlIl->IIlllI.lllIIll=
(0x698+3900-0x15d4);}if(!lIllllll){if(IlIIIl>=(IIlIl->IlIII.IIIII+lIlll->
transfer_buffer_length)){if(llIlIlll((char*)llIIl+lIIlIll,lIlll,lIlll->
transfer_buffer_length)<(0x981+4685-0x1bce)){return-EINVAL;}}IIlIl->IlIII.IIIII
+=lIlll->transfer_buffer_length;}if(IlIIIl<IIlIl->IlIII.IIIII){return-EMSGSIZE;}
return IlIlI;}static inline int IIIIlIllI(struct urb*lIlll,llIIII IIllI,struct 
usb_ctrlrequest*IIlIIlI,void*llIIl,size_t IlIIIl){int IlIlI=(0xb8f+5451-0x20da);
lIIll IIlIl=llIIl;int IlIIlIIl=sizeof(lllllIIlI);IIlIl->IlIII.IlIIll=IIllI;IIlIl
->IlIII.IIllIlI=(0x17f6+512-0x19f6);IIlIl->IlIII.IIIII=IlIIlIIl;IIlIl->IlIII.
lIIllII=lIIIIllI;IIlIl->IlIII.Status=(0x834+4097-0x1835);IIlIl->IlIII.Context=
(0x1006+1987-0x17c9);if(IlIIIl<IIlIl->IlIII.IIIII){return-EMSGSIZE;}IIlIl->
IIllllI.IllIlIl=(lIllIl)le16_to_cpu(IIlIIlI->wIndex);IIlIl->IIllllI.IlIlIIl=(
lIllIl)le16_to_cpu(IIlIIlI->wValue);return IlIlI;}static inline int lIllllllI(
struct urb*lIlll,llIIII IIllI,struct usb_ctrlrequest*IIlIIlI,void*llIIl,size_t 
IlIIIl){int IlIlI=(0x21b9+1271-0x26b0);lIIll IIlIl=llIIl;int IlIIlIIl=sizeof(
IIlIllIII)-sizeof(IIlIl->IIIIIIl.lIIlllI[(0x80c+1808-0xf1c)]);IIlIl->IlIII.
IlIIll=IIllI;IIlIl->IlIII.IIllIlI=(0xd5a+964-0x111e);IIlIl->IlIII.IIIII=IlIIlIIl
;IIlIl->IlIII.lIIllII=IlIllIII;IIlIl->IlIII.Status=(0xab4+1657-0x112d);IIlIl->
IlIII.Context=(0x0+2247-0x8c7);if(IlIIIl<IIlIl->IlIII.IIIII){return-EMSGSIZE;}
IIlIl->IIIIIIl.IIllIIlI=(lIllIl)le16_to_cpu(IIlIIlI->wValue);IIlIl->IIIIIIl.
IlllllIl=(0xa72+616-0xcda);return IlIlI;}static inline int IIIIllllI(struct urb*
lIlll,llIIII IIllI,struct usb_ctrlrequest*IIlIIlI,void*llIIl,size_t IlIIIl){int 
IlIlI=(0x13bd+1376-0x191d);lIIll IIlIl=llIIl;int IlIIlIIl=sizeof(IlIIIllIl);
IIlIl->IlIII.IlIIll=IIllI;IIlIl->IlIII.IIllIlI=(0x5d+1329-0x58e);IIlIl->IlIII.
IIIII=IlIIlIIl;IIlIl->IlIII.lIIllII=IIIIlIII;IIlIl->IlIII.Status=
(0xa8f+3251-0x1742);IIlIl->IlIII.Context=(0x38b+5570-0x194d);if(IlIIIl<IIlIl->
IlIII.IIIII){return-EMSGSIZE;}IIlIl->IlIIIIl.Endpoint=IIlIIlI->wIndex&
(0x1033+2256-0x18f4);
IIlIl->IlIIIIl.Flags=(IIlIIlI->wIndex&USB_DIR_IN)?IIIllI:(0x1124+5011-0x24b7);
return IlIlI;}int lIlIlIIlI(struct list_head*lllIlIl,llIIII IIllI,void*llIIl,
size_t IlIIIl){int IlIlI=-EINVAL;do
{struct usb_ctrlrequest llIlll;struct urb*lIlll;struct llllllI*IlIIlI;IlIIlI=
list_entry(lllIlIl->next,struct llllllI,IIIIll);lIlll=IlIIlI->lIlll;if(!lIlll){
IlllI(
"\x75\x73\x62\x64\x5f\x70\x61\x63\x6b\x5f\x75\x72\x62\x5f\x6c\x69\x73\x74\x3a\x20\x70\x75\x72\x62\x20\x69\x73\x20\x6e\x75\x6c\x6c\x28\x30\x78\x25\x70\x29\x2c\x20\x70\x76\x75\x72\x62\x3d\x30\x78\x25\x70\x20\x70\x75\x72\x62\x5f\x6c\x69\x73\x74\x3d\x30\x78\x25\x70" "\n"
,lIlll,IlIIlI,lllIlIl);break;}switch(usb_pipetype(lIlll->pipe)){case PIPE_BULK:
IlIlI=IllIlIIIll(lllIlIl,IIllI,llIIl,IlIIIl);break;case PIPE_INTERRUPT:IlIlI=
IlIlIllIl(lIlll,IIllI,llIIl,IlIIIl);break;case PIPE_ISOCHRONOUS:IlIlI=llIIllIlI(
lIlll,IIllI,llIIl,IlIIIl);break;case PIPE_CONTROL:IlIlI=IIlIIIlIl(&llIlll,lIlll,
sizeof(llIlll));if(IlIlI<(0x951+6823-0x23f8)){break;}if(IlIlI!=sizeof(llIlll)){
IlIlI=-EINVAL;break;}if(llIlll.bRequestType==(USB_DIR_IN|USB_TYPE_STANDARD|
USB_RECIP_DEVICE)&&llIlll.bRequest==USB_REQ_GET_DESCRIPTOR){
IlIlI=llIlllllI(lIlll,IIllI,&llIlll,(0x1ae0+1109-0x1f34),llIIl,IlIIIl);}else if(
llIlll.bRequestType==(USB_DIR_OUT|USB_TYPE_STANDARD|USB_RECIP_DEVICE)&&llIlll.
bRequest==USB_REQ_SET_DESCRIPTOR){
IlIlI=llIlllllI(lIlll,IIllI,&llIlll,(0x677+4970-0x19e1),llIIl,IlIIIl);}else if(
llIlll.bRequestType==(USB_DIR_OUT|USB_TYPE_STANDARD|USB_RECIP_DEVICE)&&llIlll.
bRequest==USB_REQ_SET_CONFIGURATION){
IlIlI=lIllllllI(lIlll,IIllI,&llIlll,llIIl,IlIIIl);}else if(llIlll.bRequestType==
(USB_DIR_OUT|USB_TYPE_STANDARD|USB_RECIP_INTERFACE)&&llIlll.bRequest==
USB_REQ_SET_INTERFACE){
IlIlI=IIIIlIllI(lIlll,IIllI,&llIlll,llIIl,IlIIIl);}else if(llIlll.bRequestType==
(USB_DIR_OUT|USB_TYPE_STANDARD|USB_RECIP_ENDPOINT)&&llIlll.bRequest==
USB_REQ_CLEAR_FEATURE&&llIlll.wValue==USB_ENDPOINT_HALT){
IlIlI=IIIIllllI(lIlll,IIllI,&llIlll,llIIl,IlIIIl);}else{
IlIlI=lIIIIIIlIl(lIlll,IIllI,&llIlll,llIIl,IlIIIl);}break;default:IIllIl(
"\x75\x6e\x6b\x6e\x6f\x77\x6e\x20\x70\x69\x70\x65\x20\x74\x79\x70\x65\x20\x25\x64\x20\x69\x6e\x20\x75\x72\x62" "\n"
,usb_pipetype(lIlll->pipe));IlIlI=-EINVAL;break;}}while((0x1e54+192-0x1f14));if(
IlIlI<(0x10f0+5111-0x24e7)&&IlIlI!=-EMSGSIZE){IIllIl(
"\x62\x72\x6f\x6b\x65\x6e\x20\x75\x72\x62\x20\x64\x65\x74\x65\x63\x74\x65\x64\x2c\x20\x65\x72\x72\x6f\x72\x20\x63\x6f\x64\x65\x20\x25\x64" "\n"
,IlIlI);}return IlIlI;}



static inline int lllIIllIl(lIIll IIlIl,struct urb*lIlll,int lIllllll){int IlIlI
=(0x1324+1309-0x1841);lIlll->actual_length=min((lllII)lIlll->
transfer_buffer_length,IIlIl->IIlllI.lllllI);if(lIllllll){IIlIllII(lIlll,(char*)
IIlIl+sizeof(IIlIl->IIlllI),lIlll->actual_length);}return IlIlI;}static inline 
int lIIlIlIIII(lIIll IIlIl,struct list_head*lllIlIl){int IlIlI=
(0x449+2019-0xc2c);struct llllllI*IlIIlI;unsigned long llIllIllI;unsigned char*
llIIl;llIllIllI=IIlIl->IllllI.lllllI;llIIl=(unsigned char*)IIlIl+sizeof(IIlIl->
IllllI);


list_for_each_entry(IlIIlI,lllIlIl,IIIIll){IlIIlI->lIlll->actual_length=min((
unsigned long)IlIIlI->lIlll->transfer_buffer_length,llIllIllI);if(usb_pipein(
IlIIlI->lIlll->pipe)){IlllI(
"\x75\x73\x62\x64\x5f\x75\x6e\x70\x61\x63\x6b\x5f\x75\x72\x62\x5f\x62\x75\x6c\x6b\x3a\x20\x63\x6f\x70\x79\x20\x25\x64\x20\x62\x79\x74\x65\x73\x20\x74\x6f\x20\x75\x72\x62\x20\x25\x70" "\n"
,IlIIlI->lIlll->actual_length,IlIIlI->lIlll);IIlIllII(IlIIlI->lIlll,llIIl,IlIIlI
->lIlll->actual_length);}llIllIllI-=IlIIlI->lIlll->actual_length;llIIl+=IlIIlI->
lIlll->actual_length;}return IlIlI;}static inline int IIIlllIlll(lIIll IIlIl,
struct urb*lIlll){int i;int IlIlI=(0x1cda+592-0x1f2a);lIllIl*lllIlllIII=(lIllIl*
)IIlIl+IlIlIlll(IIlIl);if(IIlIl->llIll.IIIIlll!=lIlll->number_of_packets){return
-EINVAL;}lIlll->start_frame=IIlIl->llIll.IIlIlIIl;lIlll->error_count=IIlIl->
llIll.llIIIIIl;lIlll->actual_length=(0x356+1060-0x77a);for(i=
(0x1730+3205-0x23b5);i<lIlll->number_of_packets;i++){lIlll->iso_frame_desc[i].
status=lllIIIll(IIlIl->llIll.IlIIlII[i].Status);lIlll->iso_frame_desc[i].
actual_length=IIlIl->llIll.IlIIlII[i].Length;lIlll->actual_length+=lIlll->
iso_frame_desc[i].actual_length;}if(usb_pipein(lIlll->pipe)){IllIIlIlI(lIlll,
lllIlllIII);}return IlIlI;}static inline int IlIllllllI(lIIll IIlIl,struct urb*
lIlll){int IlIlI=(0x10ad+348-0x1209);lIlll->actual_length=min((lllII)lIlll->
transfer_buffer_length,IIlIl->lllIII.lllllI);if(usb_pipein(lIlll->pipe)){
IIlIllII(lIlll,(char*)IIlIl+sizeof(IIlIl->lllIII),lIlll->actual_length);}return 
IlIlI;}static inline int lIIllIlIII(lIIll IIlIl,struct urb*lIlll){int IlIlI=
(0x73c+2721-0x11dd);lIlll->actual_length=min((lllII)lIlll->
transfer_buffer_length,IIlIl->llIIlI.lllllI);if(usb_pipein(lIlll->pipe)){
IIlIllII(lIlll,(char*)IIlIl+sizeof(IIlIl->llIIlI),lIlll->actual_length);}return 
IlIlI;}int IllIIllll(lIIll IIlIl,struct list_head*lllIlIl,int*status){int IlIlI=
(0x9e2+4170-0x1a2c);struct llllllI*IlIIlI=list_entry(lllIlIl->next,struct 
llllllI,IIIIll);struct urb*lIlll=IlIIlI->lIlll;*status=lllIIIll(IIlIl->IlIII.
Status);switch(IIlIl->IlIII.lIIllII){case llllllIl:IlllI(
"\x75\x73\x62\x64\x5f\x75\x6e\x70\x61\x63\x6b\x5f\x75\x72\x62\x3a\x20\x47\x65\x74\x44\x65\x73\x63\x72\x69\x70\x74\x6f\x72" "\n"
);IlIlI=lllIIllIl(IIlIl,lIlll,(0x247b+346-0x25d4));break;case lllIlIII:IlllI(
"\x75\x73\x62\x64\x5f\x75\x6e\x70\x61\x63\x6b\x5f\x75\x72\x62\x3a\x20\x53\x65\x74\x44\x65\x73\x63\x72\x69\x70\x74\x6f\x72" "\n"
);IlIlI=lllIIllIl(IIlIl,lIlll,(0x2b7+6797-0x1d44));break;case IlIllIII:IlllI(
"\x75\x73\x62\x64\x5f\x75\x6e\x70\x61\x63\x6b\x5f\x75\x72\x62\x3a\x20\x53\x65\x6c\x65\x63\x74\x43\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e" "\n"
);IlIlI=(0x63d+5912-0x1d55);break;case lIIIIllI:IlllI(
"\x75\x73\x62\x64\x5f\x75\x6e\x70\x61\x63\x6b\x5f\x75\x72\x62\x3a\x20\x53\x65\x6c\x65\x63\x74\x49\x6e\x74\x65\x72\x66\x61\x63\x65" "\n"
);IlIlI=(0x9c5+2452-0x1359);break;case IlIIlIII:IlllI(
"\x75\x73\x62\x64\x5f\x75\x6e\x70\x61\x63\x6b\x5f\x75\x72\x62\x3a\x20\x43\x6f\x6e\x74\x72\x6f\x6c\x54\x72\x61\x6e\x73\x66\x65\x72" "\n"
);IlIlI=IlIllllllI(IIlIl,lIlll);break;case IIllIIIl:IlllI(
"\x75\x73\x62\x64\x5f\x75\x6e\x70\x61\x63\x6b\x5f\x75\x72\x62\x3a\x20\x42\x75\x6c\x6b\x54\x72\x61\x6e\x73\x66\x65\x72" "\n"
);IlIlI=lIIlIlIIII(IIlIl,lllIlIl);break;case llIIlllI:IlllI(
"\x75\x73\x62\x64\x5f\x75\x6e\x70\x61\x63\x6b\x5f\x75\x72\x62\x3a\x20\x49\x73\x6f\x63\x68\x54\x72\x61\x6e\x73\x66\x65\x72" "\n"
);IlIlI=IIIlllIlll(IIlIl,lIlll);break;case lIlllIIl:IlllI(
"\x75\x73\x62\x64\x5f\x75\x6e\x70\x61\x63\x6b\x5f\x75\x72\x62\x3a\x20\x49\x6e\x74\x65\x72\x72\x75\x70\x74\x54\x72\x61\x6e\x73\x66\x65\x72" "\n"
);IlIlI=lIIllIlIII(IIlIl,lIlll);break;case IIIIlIII:IlllI(
"\x75\x73\x62\x64\x5f\x75\x6e\x70\x61\x63\x6b\x5f\x75\x72\x62\x3a\x20\x43\x6c\x65\x61\x72\x53\x74\x61\x6c\x6c" "\n"
);IlIlI=(0x4a7+7750-0x22ed);break;case IllllllI:IlllI(
"\x75\x73\x62\x64\x5f\x75\x6e\x70\x61\x63\x6b\x5f\x75\x72\x62\x3a\x20\x52\x65\x73\x65\x74\x50\x6f\x72\x74" "\n"
);IlIlI=(0x1383+3268-0x2047);break;default:IlllI(
"\x75\x73\x62\x64\x5f\x75\x6e\x70\x61\x63\x6b\x5f\x75\x72\x62\x3a\x20\x75\x6e\x6b\x6e\x6f\x77\x6e\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e" "\n"
);IlIlI=-EINVAL;break;}return IlIlI;}void lllIllIII(struct lIlIIl*lIllI,lllII*
busnum,lllII*devnum){if(busnum){*busnum=lIllI->parent->self.busnum;}
if(devnum){*devnum=lIllI->IIlIllI;}}
























































void IlIIIlI(struct lIIIII*Illll,int lIIlI,int llllII,int IllllII){
switch(llllII){case llllIIll:case lIllIIll:case IlIlIIII:lIIlIII(Illll,lIIlI,
IIlllllI);break;case IIIIlIll:lIIlIII(Illll,lIIlI,IIlllllI);break;case llIIlIlI:
Illll->lIlIIlI[lIIlI]&=~USB_PORT_STAT_C_CONNECTION;break;case IlIllIlIl:Illll->
lIlIIlI[lIIlI]&=~USB_PORT_STAT_C_ENABLE;break;case IIlIlIlIl:Illll->lIlIIlI[
lIIlI]&=~USB_PORT_STAT_C_SUSPEND;break;case lIIllllI:Illll->lIlIIlI[lIIlI]&=~
USB_PORT_STAT_C_RESET;break;}
switch(Illll->lllllIIl[lIIlI]){case IIlllllI:if(llllII==lllIIlIl){lIIlIII(Illll,
lIIlI,lIlIlII);}break;case lIlIlII:if(llllII==IIIlIlII){lIIlIII(Illll,lIIlI,
IIIIllI);}break;case IIIIllI:if(llllII==IlIIIlll){lIIlIII(Illll,lIIlI,lIlIlII);}
if(llllII==IIlIllll){lIIlIII(Illll,lIIlI,lIIIIIl);}break;case lIIIIIl:if(llllII
==IlIIIlll){lIIlIII(Illll,lIIlI,lIlIlII);}if(llllII==IIlIIlll){lIIlIII(Illll,
lIIlI,IIIIllI);}if(llllII==lIlIlIIl){lIIlIII(Illll,lIIlI,lIIllIIl);}break;case 
lIIllIIl:if(llllII==IlIIIlll){lIIlIII(Illll,lIIlI,lIlIlII);}if(llllII==IIlIIlll)
{lIIlIII(Illll,lIIlI,IIIIllI);}if(llllII==IIlIllll){lIIlIII(Illll,lIIlI,lIIIIIl)
;}if(llllII==lIIIlIIlI){lIIlIII(Illll,lIIlI,lllIIIlIl);}break;case lllIIIlIl:if(
llllII==IlIIIlll){lIIlIII(Illll,lIIlI,lIlIlII);}if(llllII==IIlIIlll){lIIlIII(
Illll,lIIlI,IIIIllI);}if(llllII==IIlIllll){lIIlIII(Illll,lIIlI,lIIIIIl);}if(
llllII==IlllIlIIl||llllII==lIlllIIlI){lIIlIII(Illll,lIIlI,lIIlllIl);}break;case 
lIIlllIl:if(llllII==IlIIIlll){lIIlIII(Illll,lIIlI,lIlIlII);}if(llllII==IIlIIlll)
{lIIlIII(Illll,lIIlI,IIIIllI);}if(llllII==IIlIllll){lIIlIII(Illll,lIIlI,lIIIIIl)
;}if(llllII==lIlIlIIl){lIIlIII(Illll,lIIlI,lIIllIIl);}break;}}static inline int 
IIllllIII(int speed){switch(speed){case USB_SPEED_HIGH:return 
USB_PORT_STAT_HIGH_SPEED;case USB_SPEED_LOW:return USB_PORT_STAT_LOW_SPEED;case 
USB_SPEED_FULL:return(0x1560+2247-0x1e27);}return(0x1510+2847-0x202f);}
void lIIlIII(struct lIIIII*Illll,int lIIlI,int lIIlIIIl){
int IIIIlIlI=Illll->lllllIIl[lIIlI];if(lIIlIIIl==IIIIlIlI){return;}Illll->
lllllIIl[lIIlI]=lIIlIIIl;Illll->llIlIII[lIIlI]=(0x1bd+435-0x370);if(IIIIlIlI==
lIIIIIl){Illll->lIlIIlI[lIIlI]|=USB_PORT_STAT_C_RESET;}if(IIIIlIlI==lIIlllIl){
Illll->lIlIIlI[lIIlI]|=USB_PORT_STAT_C_SUSPEND;}switch(lIIlIIIl){case IIlllllI:
Illll->IIIIIll[lIIlI]=(0x15ab+1703-0x1c52);Illll->lIlIIlI[lIIlI]=
(0x13f5+4034-0x23b7);
break;case lIlIlII:Illll->IIIIIll[lIIlI]=USB_PORT_STAT_POWER;if(IIIIlIlI!=
IIlllllI){Illll->lIlIIlI[lIIlI]|=USB_PORT_STAT_C_CONNECTION;}
if(Illll->lllIllI[lIIlI]){lIIlIII(Illll,lIIlI,IIIIllI);}break;case IIIIllI:Illll
->IIIIIll[lIIlI]=USB_PORT_STAT_POWER|USB_PORT_STAT_CONNECTION;if(IIIIlIlI==
lIlIlII){Illll->lIlIIlI[lIIlI]|=USB_PORT_STAT_C_CONNECTION;}break;case lIIIIIl:
Illll->IIIIIll[lIIlI]=USB_PORT_STAT_POWER|USB_PORT_STAT_CONNECTION|
USB_PORT_STAT_RESET;
Illll->llIlIII[lIIlI]=jiffies+msecs_to_jiffies((0x10b4+5093-0x2467));
Illll->llIlIII[lIIlI]+=Illll->llIlIII[lIIlI]?(0x138+4092-0x1134):
(0xd7c+2346-0x16a5);break;case lIIllIIl:Illll->IIIIIll[lIIlI]=
USB_PORT_STAT_POWER|USB_PORT_STAT_CONNECTION|USB_PORT_STAT_ENABLE|IIllllIII(
Illll->lllIllI[lIIlI]->speed);break;case lllIIIlIl:Illll->IIIIIll[lIIlI]=
USB_PORT_STAT_POWER|USB_PORT_STAT_CONNECTION|USB_PORT_STAT_ENABLE|
USB_PORT_STAT_SUSPEND|IIllllIII(Illll->lllIllI[lIIlI]->speed);break;case 
lIIlllIl:Illll->IIIIIll[lIIlI]=USB_PORT_STAT_POWER|USB_PORT_STAT_CONNECTION|
USB_PORT_STAT_ENABLE|USB_PORT_STAT_SUSPEND|IIllllIII(Illll->lllIllI[lIIlI]->
speed);
Illll->llIlIII[lIIlI]=jiffies+msecs_to_jiffies((0xcf+1263-0x5aa));
Illll->llIlIII[lIIlI]+=Illll->llIlIII[lIIlI]?(0xd9d+433-0xf4e):
(0x4ec+4496-0x167b);break;default:IIllIl(
"\x69\x6e\x76\x61\x6c\x69\x64\x20\x6e\x65\x77\x20\x70\x6f\x72\x74\x20\x73\x74\x61\x74\x65" "\n"
);break;}}
#if KERNEL_GT_EQ((0x1bd8+2323-0x24e9),(0x196b+375-0x1adc),(0xcbb+2172-0x1510)) \
|| RHEL_RELEASE_GT_EQ((0x404+6687-0x1e1d),(0xe44+704-0x1101)) 

























void IlllIlI(struct lIIIII*Illll,int lIIlI,int llllII,int IllllII){
switch(llllII){case llllIIll:case IlIlIIII:lIlIlll(Illll,lIIlI,IIlllllI);return;
case llIIlIlI:Illll->lIlIIlI[lIIlI]&=~USB_PORT_STAT_C_CONNECTION;return;case 
lIIllllI:Illll->lIlIIlI[lIIlI]&=~USB_PORT_STAT_C_RESET;return;case IlIIllIll:
Illll->lIlIIlI[lIIlI]&=~USB_PORT_STAT_C_BH_RESET;return;case IllIIlllI:Illll->
lIlIIlI[lIIlI]&=~USB_PORT_STAT_C_LINK_STATE;return;case IlIIIIll:if(IllllII==
(0x2e0+8801-0x253d)){
lIlIlll(Illll,lIIlI,IIIIllI);return;}break;}
switch(Illll->lllllIIl[lIIlI]){case IIlllllI:if(llllII==lIllIIll){lIlIlll(Illll,
lIIlI,lIlIlII);}break;case llIIIIlI:if(llllII==lllIIlIl){lIlIlll(Illll,lIIlI,
lIlIlII);}if(llllII==IIlIllll){lIlIlll(Illll,lIIlI,lIIIIIl);}break;case lIlIlII:
if(llllII==IIIIlIll){lIlIlll(Illll,lIIlI,llIIIIlI);}if(llllII==IIIlIlII){lIlIlll
(Illll,lIIlI,lIIllIIl);}break;case IIIIllI:if(llllII==IIIIlIll){lIlIlll(Illll,
lIIlI,llIIIIlI);}if(llllII==IIlIllll){lIlIlll(Illll,lIIlI,lIIIIIl);}if(llllII==
IlIIIIll&&IllllII==(0x1710+751-0x19fa)){


lIlIlll(Illll,lIIlI,lIlIlII);}break;case lIIllIIl:if(llllII==IIIIlIll){lIlIlll(
Illll,lIIlI,llIIIIlI);}if(llllII==IlIIIlll){lIlIlll(Illll,lIIlI,lIlIlII);}if(
llllII==IIlIllll){lIlIlll(Illll,lIIlI,lIIIIIl);}if(llllII==IlIIIIll&&IllllII==
(0xd35+4475-0x1eb0)){
if(Illll->IllIIIl[lIIlI]==USB_SS_PORT_LS_U3){

Illll->lIlIIlI[lIIlI]|=USB_PORT_STAT_C_LINK_STATE;}IllIIII(Illll,lIIlI,
USB_SS_PORT_LS_U0);}if(llllII==IlIIIIll&&IllllII==(0x11d5+1541-0x17d9)){

if(Illll->IllIIIl[lIIlI]==USB_SS_PORT_LS_U0){IllIIII(Illll,lIIlI,
USB_SS_PORT_LS_U1);}}if(llllII==IlIIIIll&&IllllII==(0x2cf+7693-0x20da)){

if(Illll->IllIIIl[lIIlI]==USB_SS_PORT_LS_U0){IllIIII(Illll,lIIlI,
USB_SS_PORT_LS_U2);}}if(llllII==IlIIIIll&&IllllII==(0x2523+165-0x25c5)){

if(Illll->IllIIIl[lIIlI]==USB_SS_PORT_LS_U0||Illll->IllIIIl[lIIlI]==
USB_SS_PORT_LS_U1||Illll->IllIIIl[lIIlI]==USB_SS_PORT_LS_U2){

if(Illll->IllIIIl[lIIlI]!=USB_SS_PORT_LS_U0){IllIIII(Illll,lIIlI,
USB_SS_PORT_LS_U0);}IllIIII(Illll,lIIlI,USB_SS_PORT_LS_U3);}}break;case lIIIIIl:
if(llllII==IIIIlIll){lIlIlll(Illll,lIIlI,llIIIIlI);}if(llllII==IlIIIlll){lIlIlll
(Illll,lIIlI,lIlIlII);}if(llllII==lIlIlIIl){lIlIlll(Illll,lIIlI,lIIllIIl);}break
;}}static inline int llIIlIlII(int speed){switch(speed){case USB_SPEED_SUPER:
return USB_PORT_STAT_SPEED_5GBPS;default:return(0xed0+2136-0x1728);}return
(0xb7a+1234-0x104c);}
void lIlIlll(struct lIIIII*Illll,int lIIlI,int lIIlIIIl){int IllIlIIIl=Illll->
IIIIIll[lIIlI];int IIIIlIlI=Illll->lllllIIl[lIIlI];if(lIIlIIIl==IIIIlIlI){return
;}Illll->lllllIIl[lIIlI]=lIIlIIIl;Illll->llIlIII[lIIlI]=(0x771+6881-0x2252);
switch(lIIlIIIl){case IIlllllI:IllIIII(Illll,lIIlI,USB_SS_PORT_LS_SS_DISABLED);
Illll->IIIIIll[lIIlI]=Illll->IllIIIl[lIIlI];Illll->lIlIIlI[lIIlI]=
(0x1092+1851-0x17cd);
break;case llIIIIlI:IllIIII(Illll,lIIlI,USB_SS_PORT_LS_RX_DETECT);Illll->IIIIIll
[lIIlI]=Illll->IllIIIl[lIIlI];Illll->lIlIIlI[lIIlI]=(0x1bd9+2586-0x25f3);
break;case IIIIllI:IllIIII(Illll,lIIlI,USB_SS_PORT_LS_SS_DISABLED);Illll->
IIIIIll[lIIlI]=Illll->IllIIIl[lIIlI]|USB_SS_PORT_STAT_POWER;if(IllIlIIIl&
USB_PORT_STAT_CONNECTION){Illll->lIlIIlI[lIIlI]|=USB_PORT_STAT_C_CONNECTION;
}break;case lIlIlII:IllIIII(Illll,lIIlI,USB_SS_PORT_LS_RX_DETECT);Illll->IIIIIll
[lIIlI]=Illll->IllIIIl[lIIlI]|USB_SS_PORT_STAT_POWER;if(IllIlIIIl&
USB_PORT_STAT_CONNECTION){Illll->lIlIIlI[lIIlI]|=USB_PORT_STAT_C_CONNECTION;
}
if(Illll->lllIllI[lIIlI]){lIlIlll(Illll,lIIlI,lIIllIIl);}break;case lIIllIIl:
IllIIII(Illll,lIIlI,USB_SS_PORT_LS_U0);Illll->IIIIIll[lIIlI]=Illll->IllIIIl[
lIIlI]|USB_SS_PORT_STAT_POWER|USB_PORT_STAT_CONNECTION|USB_PORT_STAT_ENABLE|
llIIlIlII(Illll->lllIllI[lIIlI]->speed);if(IIIIlIlI==lIIIIIl){Illll->lIlIIlI[
lIIlI]|=USB_PORT_STAT_C_RESET;
}if(IIIIlIlI==lIlIlII){Illll->lIlIIlI[lIIlI]|=USB_PORT_STAT_C_CONNECTION;
}break;case lIIIIIl:Illll->IIIIIll[lIIlI]=Illll->IllIIIl[lIIlI]|
USB_SS_PORT_STAT_POWER|USB_PORT_STAT_RESET|(IllIlIIIl&USB_PORT_STAT_CONNECTION);

Illll->llIlIII[lIIlI]=jiffies+msecs_to_jiffies((0xdcc+3306-0x1a84));
Illll->llIlIII[lIIlI]+=Illll->llIlIII[lIIlI]?(0x210+380-0x38c):
(0x8cc+1675-0xf56);break;default:IlllI(
"\x69\x6e\x76\x61\x6c\x69\x64\x20\x70\x6f\x72\x74\x20\x73\x74\x61\x74\x65" "\n")
;break;}}
void IllIIII(struct lIIIII*Illll,int lIIlI,int lIlIIllII){switch(lIlIIllII){case
 USB_SS_PORT_LS_U0:IlllI(
"\x73\x65\x74\x5f\x6c\x69\x6e\x6b\x5f\x73\x74\x61\x74\x65\x20\x55\x53\x42\x5f\x53\x53\x5f\x50\x4f\x52\x54\x5f\x4c\x53\x5f\x55\x30" "\n"
);
Illll->IllIIIl[lIIlI]=USB_SS_PORT_LS_U0;break;case USB_SS_PORT_LS_U1:IlllI(
"\x73\x65\x74\x5f\x6c\x69\x6e\x6b\x5f\x73\x74\x61\x74\x65\x20\x55\x53\x42\x5f\x53\x53\x5f\x50\x4f\x52\x54\x5f\x4c\x53\x5f\x55\x31" "\n"
);
Illll->IllIIIl[lIIlI]=USB_SS_PORT_LS_U1;break;case USB_SS_PORT_LS_U2:IlllI(
"\x73\x65\x74\x5f\x6c\x69\x6e\x6b\x5f\x73\x74\x61\x74\x65\x20\x55\x53\x42\x5f\x53\x53\x5f\x50\x4f\x52\x54\x5f\x4c\x53\x5f\x55\x32" "\n"
);
Illll->IllIIIl[lIIlI]=USB_SS_PORT_LS_U2;break;case USB_SS_PORT_LS_U3:IlllI(
"\x73\x65\x74\x5f\x6c\x69\x6e\x6b\x5f\x73\x74\x61\x74\x65\x20\x55\x53\x42\x5f\x53\x53\x5f\x50\x4f\x52\x54\x5f\x4c\x53\x5f\x55\x33" "\n"
);
Illll->IllIIIl[lIIlI]=USB_SS_PORT_LS_U3;break;case USB_SS_PORT_LS_SS_DISABLED:
IlllI(
"\x73\x65\x74\x5f\x6c\x69\x6e\x6b\x5f\x73\x74\x61\x74\x65\x20\x55\x53\x42\x5f\x53\x53\x5f\x50\x4f\x52\x54\x5f\x4c\x53\x5f\x53\x53\x5f\x44\x49\x53\x41\x42\x4c\x45\x44" "\n"
);
Illll->IllIIIl[lIIlI]=USB_SS_PORT_LS_SS_DISABLED;break;case 
USB_SS_PORT_LS_RX_DETECT:IlllI(
"\x73\x65\x74\x5f\x6c\x69\x6e\x6b\x5f\x73\x74\x61\x74\x65\x20\x55\x53\x42\x5f\x53\x53\x5f\x50\x4f\x52\x54\x5f\x4c\x53\x5f\x52\x58\x5f\x44\x45\x54\x45\x43\x54" "\n"
);
Illll->IllIIIl[lIIlI]=USB_SS_PORT_LS_RX_DETECT;break;}Illll->IIIIIll[lIIlI]&=~
USB_PORT_STAT_LINK_STATE;Illll->IIIIIll[lIIlI]|=Illll->IllIIIl[lIIlI];}
#endif 
#endif 

